Вторник, 26 Ноября 2024, 10:56

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Step event
undernerd22Дата: Суббота, 10 Марта 2018, 12:30 | Сообщение # 1
был не раз
Сейчас нет на сайте
Я по справке понял что эти события означают начало шага, конец шага и обычный шаг, тем ни менее на практике я не смог заметить разницы. Если вы шарите не могли бы на примере объяснить разницу между этими событиями?
BrightSpotДата: Суббота, 10 Марта 2018, 12:54 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Цитата undernerd22 ()
начало шага, конец шага и обычный шаг,

Все верно. И это значит что во время исполнения сначала проходят все события (у всех объектов) начала шага потом обычный и конечный... (не помню точно, вроде разрыва в количестве итераций нету) таким образом можно разделить приоритет выполнения - например принимать события контроллера и делать действия в обычном шаге, а в конечном делать проверки на коллизии и править результат, таким образом все объекты успеют сделать что им нужно а проверка "затрет" несостыковки"... или можно вычитывать урон по мобам в степе, а удалять их в конечном степе, что бы не вышло ситуации,что юнит "умер", а персонаж еще наносит урон...



Более мощный компьютер глючит быстрее и точнее.
Lev_NickolaevichДата: Понедельник, 16 Апреля 2018, 18:29 | Сообщение # 3
был не раз
Сейчас нет на сайте
Грубо говоря, разница такова:


http://vk.com/lev_nickolaevich
ChristopherДата: Среда, 18 Апреля 2018, 23:29 | Сообщение # 4
участник
Сейчас нет на сайте
Lev_Nickolaevich,
Тоже немного неверно
За разрушение обьекта отвечает событие Destroy, которое вызывается в момент уничтожения обьекта
Разница степов в том, что при каждом апдейте они работают в том порядке, в каком названы:
Begin Step, Step, End Step
То же самое идет для Draw, только он выполняется ранее самого Step

В справке подробно описан порядок выполнения событий

Наглядный пример:
Если поставить одному обьекту координаты другого обьекта в Step или End Step, каждое смещение будет видно, что он будет отставать как хвостик на один пиксель.
Если написать тот же самый код в Begin Step, данная проблема решится
Или наоборот, если нужно, чтобы такой эффект появился, достаточно сменить ивенты
Raven84Дата: Пятница, 20 Апреля 2018, 16:50 | Сообщение # 5
старожил
Сейчас нет на сайте
Christopher,
Цитата
То же самое идет для Draw, только он выполняется ранее самого Step

А разве не наоборот? ) Сначала идут все события шага, а после них уже события рисования.


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland
ChristopherДата: Пятница, 20 Апреля 2018, 18:33 | Сообщение # 6
участник
Сейчас нет на сайте
Raven84, Ну, по крайней мере, у меня с этим типом "быстрофикса" все работало адекватно
В принципе, можете просто посмотреть по дебагу, что идет в первую очередь, там и будет понятно
Raven84Дата: Суббота, 21 Апреля 2018, 05:42 | Сообщение # 7
старожил
Сейчас нет на сайте
Christopher, Ну это был риторический вопрос вообще-то. :)
Никакой дебаг не нужен. Достаточно справку почитать. ;)
Естественно событие рисования идет после события шага.
Вот кусок справки еще с 8-го гамака (листайте страницу в самый низ). Там про всю очередность событий пишут (специально на русском подобрал):
ссылка на справку
В ГМ студии этот порядок сохраняется.


Super Knight Story (в разработке)
Idolzzz - игра доступна в Steam и Play Market
Oliver's Adventures in the Fairyland


Сообщение отредактировал Raven84 - Суббота, 21 Апреля 2018, 05:43
ChristopherДата: Суббота, 21 Апреля 2018, 23:52 | Сообщение # 8
участник
Сейчас нет на сайте
Raven84, Спасибо, что поправили, а то не было именно в этом плане конкретики в голове, когда писал пост)
Да, про справку знаю, частично принимал в ней участие, только недостаточно весомое, чтобы это было чем-то серьезным)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг