RS Game Maker Community
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

 
Расширенный поиск
  Главная  Форум   Вики Блоги FAQ Игры Статьи Примеры Войти Регистрация  
Вики
Все желающие приглашаются редактировать вики. Можете писать о своих (или чужих) играх, размещать туториалы, постить статьи - главное навесить категорию.
Страниц: 1 2 3 4 5 ... 360   Вниз
  Печать  
Ответы@Gmakers.ru — все вопросы сюда
0 Пользователей и 3 Гостей смотрят эту тему.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


21 Апреля 2011 в 01:14
Чтобы не было тем с вопросами, которые содержат всего два-три сообщения, все свои вопросы задавайтесь здесь. Если вопрос окажется слишком сложным для общей темы, модераторы всегда могут вынести обсуждение в отдельную тему.
Для этой темы действуют те же правила, что и для всего раздела, так что перед тем, как задать вопрос, обязательно ознакомьтесь с этой темой: «Ознакомьтесь, прежде чем задать вопрос». И не забудьте проверить, нет ли ответа на ваш вопрос в FAQ по Game Maker.
Последнее редактирование: 13 Октября 2013 в 19:01 от Огион
 
Trofer
Человек без смысла жизни.
Новичок


Репутация: 0
Offline Offline

Сообщений: 18


Я буду таким, каким вы захотите меня увидеть.

Ответ № 1 24 Апреля 2011 в 22:31
Прива,у меня к тебе опять задачка):
1)Как мне сделать hud,который справа? Всё испробовал.А обычные туториалы не ориентируются на то,что у меня вид крутиться)
2)Скорее не задачка,а вопрос - где или как ты делал тени для объектов? (те самые альфа-какналы)

Моё личное правило по жизни - если у тебя больше других - отдай это,что бы они в этом не нуждались.
tolich
to ne lich
Ветеран форума
*****

Репутация: 214
Offline Offline

Сообщений: 1 490


moonlite

Ответ № 2 24 Апреля 2011 в 22:40
Как мне сделать hud,который справа? … вид крутится.
Версии, не проверял пока:
1) сделать два вида, один крутить, в другом рисовать хедап дисплей;
2) перед тем как рисовать хедап дисплей, сказать:
d3d_set_projection_ortho(0,0,640,480,0);

Edit: Оба варианта рабочие:
* test1.gm6 (16.4 Кб - загружено 320 раз.)
* test2.gm6 (16.33 Кб - загружено 319 раз.)
Прикреплённые файлы
* test1.gm6 (16.4 Кб - загружено 320 раз.)

* test2.gm6 (16.33 Кб - загружено 319 раз.)
Последнее редактирование: 24 Апреля 2011 в 23:10 от tolich

Макасин
[s]
Младший администратор
Старожил
******

Репутация: 341
Offline Offline

Награды:
Легенда сайта
Сообщений: 4 255


[/s]

Ответ № 3 24 Апреля 2011 в 23:35
Извини, но вопросы в теме для всех, и какая разница, кто тебе ответит? Вопросы формулируй хорошо, потому что они будут заносится в шапку и для того, что бы остальные тоже "знали о чем ты говоришь". Если так уж важно задать вопрос определенному человеку - личные сообщения. Флуд удаляю.

Энтузиазм нашему форуму чужд. Sad but true.
Ogion.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


Ответ № 4 24 Апреля 2011 в 23:36
Trofer, на форуме много людей, которые могли бы тебе помочь. tolich указал тебе на два лучших способа реализовать худ, на который не влияет поворот вида, и мне добавить нечего.

По-поводу теней - это делается прямо в GM, в редакторе спрайтов: Image -> Glow. Хотя, конечно, фотошоп подойдёт лучше.
ZitRo
GML/C/C++/C#/html/js/php
Завсегдатай
****

Репутация: 95
Offline Offline

Сообщений: 623


Ответ № 5 24 Апреля 2011 в 23:39
Здравствуйте вновь. Хотел уточнить следующие:
У меня есть объект со спрайтом и маской, которая в разы меньше спрайта. Представили, да?
Могу ли я придумать что-нибудь подобное к функции instance_position(x,y,obj), только искать объект в (х,у) не по его маске, как трактует нам GM, а по самому спрайту? Дело в том что маска мне нужна для столкновений с другими объектами, а находить объект нужно именно по его картинке на экране.
Возможно ли вообще так сделать? Или можно придумать способ хитрее? Буду благодарен за любой ответ.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


Ответ № 6 24 Апреля 2011 в 23:52
Привет.
Дело в том, что механизм проверок столкновений в GM сделан именно для того, чтобы упростить жизнь игроделам, не заставлять их вникать в сложные геометрические форумулы, и, безусловно, ради производительности. Как-никак, GM интерпретатор, и ему легче обработать код, когда он знает, для чего предназначен этот кусок кода. Не буду вдаваться в очень уж очевидные подробности, но кое-что скажу: да, функция instance_position работает с масками. Объекту можно выбрать спрайт, маска которого будет использоваться как маска для этого объекта, если этого спрайта нет - естественно, используется маска основного спрайта объекта.

Заставить функцию instance_position работать с другой маской есть два способа:
1. Использовать несколько объектов с разными масками.
2. Изменить mask_index нужного объекта перед вызовом функции и после него.

Дерзай!  :)
ZitRo
GML/C/C++/C#/html/js/php
Завсегдатай
****

Репутация: 95
Offline Offline

Сообщений: 623


Ответ № 7 25 Апреля 2011 в 00:27
Спасибо! :)
Думал можно легче как-нибудь. Все парюсь с этим быстродействием, пытаясь максимально облегчить работу для машины.
Думаю, 2й вариант как раз подойдет. У меня событие поиска вызывается в среднем 1-2 раза за шаг (40 FPS), и объектов штук 20-40. Скорее всего это намного лучше, чем писать собственный алгоритм столкновений дабы не менять маску.
RAY2
а вы видали что внизу?=)
Чудо-пользователь
Активный участник
**

Репутация: 8
Offline Offline

Сообщений: 116

ТОТ КТО ПОСТАВИЛ МНЕ РЕСПЕКТ:СПАСИБО ТЕБЕ)))

Ответ № 8 25 Апреля 2011 в 18:56
У меня вопрос как сделать чтобы объект моб был повёрнут 2 спрайтами к объекту игрок(игрок с лева спрайт 2,игрок  с право спрайт 3) (у меня платформа) а мобы тупые с 1 спрайтом (игрок сзади а они повёрнуты в другую сторону) заранее спасибо >.<

Делаю рпг размером 20000 на 20000=)
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


Ответ № 9 25 Апреля 2011 в 19:46
У меня вопрос как сделать чтобы объект моб был повёрнут 2 спрайтами к объекту игрок(игрок с лева спрайт 2,игрок  с право спрайт 3) (у меня платформа) а мобы тупые с 1 спрайтом (игрок сзади а они повёрнуты в другую сторону) заранее спасибо >.<
Сравнивай x игрока с x моба. Это может выглядеть примерно так:
if o_player.x < x
    sprite_index = s_mob_1;
else
    sprite_index = s_mob_2;

А какая разница-то? Моб - это враждебный npc, то есть, враждебный персонаж, неуправляемый игроком.
Neuro
Time Traveller
Новичок


Репутация: 0
Offline Offline

Сообщений: 1


Ответ № 10 25 Апреля 2011 в 22:25
Привет, ребят, новичок на этом форуме и полнейший нуб в game maker, про нуба - предупреждаю сразу.
Это везде написано (про мой вопрос, который ниже), я в курсе, но правда, никак не могу понять.
Сейчас делаю второй урок по Game maker - Colour Balls. Понимаю, что такое переменные, ifы, комнаты, все это представляю себе. Но вот что такое шаг (step) - ну никак не могу себе представить и понять. Обидно, есть хороший, проработанный проект в голове, очень хочется сделать, однако, конечно, сначала надо полностью разобраться в программе.
Совершенно не могу себе представить, что такое шаг. :(

Объясните популярно, максимально разжевав, что это такое, пожалуйста, кто-нибудь. :-\
Кто-тo
Ветеран форума
*****

Репутация: 81
Offline Offline

Сообщений: 1 088


Ответ № 11 25 Апреля 2011 в 22:43
'Шаг' выполняется каждый кадр, как и рисование, но до него.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


Ответ № 12 25 Апреля 2011 в 22:53
В Game Maker за секунду проходит определённое количество шагов. Это количество определяет переменная room_speed (её можно задать в свойствах комнаты: settings -> Speed). Событие step event называется событием шага именно потому, что оно выполняется каждый шаг. К примеру, если в событии step event объекта вы напишете код "score += 1", и установите скорость комнаты на 30 шагов, то за секунду переменная score увеличится на 30. Таким же образом, если вы напишите "image_speed = 1", то за секунду у спрайта сменится 30 кадров, потому что переменная image_speed хранит в себе значение, на которое изменяется кадр спрайта каждый шаг. То же относится и ко времени. Если вы напишете "alarm[0] = 1", то событие таймера произойдёт через 1/30 секунды (для общего случая - 1/room_speed).
(Из моего F.A.Q.)
Огион
Завсегдатай
****

Репутация: 132
Offline Offline

Сообщений: 962


Ответ № 13 25 Апреля 2011 в 23:45
http://gmakers.ru/index.php?topic=4719.0

Здесь я вроде бы расставил все точки над i.
ZitRo
GML/C/C++/C#/html/js/php
Завсегдатай
****

Репутация: 95
Offline Offline

Сообщений: 623


Ответ № 14 26 Апреля 2011 в 01:11
А можно ли в ГМ достать уникальный номер (строку, код, имя, ...) компьютера? То, что на каждой машине будет разным. Вероятно, можно что-то с реестра вытянуть, но эти данные также легко подделать. Существует какой-либо рациональный способ?
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


Ответ № 15 26 Апреля 2011 в 01:14
Мак-адрес подходит?
Хотя, наверняка, есть более надёжный способ получить уникальный код компьютера.

Не уверен, правда, на счёт его уникальности. Могу сильно ошибаться.
Вот dll: http://gmc.yoyogames.com/index.php?showtopic=375869
Последнее редактирование: 26 Апреля 2011 в 01:22 от DeatHSoul
andy
Участник
*

Репутация: 19
Offline Offline

Сообщений: 71


Ответ № 16 26 Апреля 2011 в 17:11
Такой вопрос.
Можно ли скрипт использовать как функцию? Т. е. если например у меня есть скрипт sc_myscript(blah,blah) и я пишу в execute code что-нибудь типа xx = sc_myscript(blah,blah), в переменную "хх" записывается результат работы скрипта.
Кто-тo
Ветеран форума
*****

Репутация: 81
Offline Offline

Сообщений: 1 088


Ответ № 17 26 Апреля 2011 в 17:13
Такой вопрос.
Можно ли скрипт использовать как функцию? Т. е. если например у меня есть скрипт sc_myscript(blah,blah) и я пишу в execute code что-нибудь типа xx = sc_myscript(blah,blah), в переменную "хх" записывается результат работы скрипта.
Да, ведь функция это тоже по сути скрипт. Только написанная на C++ Delphi, а не на GML.
andy
Участник
*

Репутация: 19
Offline Offline

Сообщений: 71


Ответ № 18 26 Апреля 2011 в 17:20
Dukat863, а как тогда указать, какое значение возвращается через саму функцию, т. е. скрипт? Пробовал тупо писать в тексте скрипта выражение типа "sc_myscript = argument0 + argument1", как в паскале, не работает.
deathsoul
дезсоул
Ветеран форума
*****

Репутация: 548
Offline Offline

Награды:
Легенда сайта
Сообщений: 1 853


Ответ № 19 26 Апреля 2011 в 18:33
Для этого используется оператор return.
Пример простейшего скрипта:
return (argument0 + argument1) / 2;
Страниц: 1 2 3 4 5 ... 360   Вверх
  Печать  
 
Перейти в:  

RSGMC (gmakers.ru) © 2007—2017
Счётчик–@Mail.ru