Game Maker - создание игр | HellRoom Games

Game Maker | GameMaker: Studio [Game-Maker.ru] => Для новичков: вопросы и ответы по Game Maker => Тема начата: viti4 от Январь 03, 2024, 22:43:28



Название: Простой способ смены спрайтов
Отправлено: viti4 от Январь 03, 2024, 22:43:28
Может кому пригодится.
Движение персонажа по 8 сторонам через стик сделано.

В шаг персонажа
Реакция на столкновения с твёрдыми блоками прописана через скрипт dvigenie :

имеется 8 спрайтов движения, подписаны следующим образом:
sp_pers1_stop
sp_pers1_up
sp_pers1_down
ну и тд.

В изображение персонажа


Название: Re: Простой способ смены спрайтов
Отправлено: Dmi7ry от Январь 04, 2024, 14:48:01
Так не пишут, это плохой код.
Если направление разделить без остатка (div) на шаг угла, то получится число от 0 до 7 (если 8 направлений)(ещё понадобится к направлению прибавить половину шага угла, чтобы корректно обрабатывалось направление вправо, где переход через 0 градусов, например, 350 градусов). И дальше это число можно использовать либо в названии спрайта, либо как индекс массива, в котором хранятся спрайты. В итоге вся эта простыня превратится всего в несколько строк кода.


Название: Re: Простой способ смены спрайтов
Отправлено: viti4 от Январь 05, 2024, 15:23:22
Так не пишут, это плохой код.
Если направление разделить без остатка (div) на шаг угла, то получится число от 0 до 7 (если 8 направлений)(ещё понадобится к направлению прибавить половину шага угла, чтобы корректно обрабатывалось направление вправо, где переход через 0 градусов, например, 350 градусов). И дальше это число можно использовать либо в названии спрайта, либо как индекс массива, в котором хранятся спрайты. В итоге вся эта простыня превратится всего в несколько строк кода.
Буду иметь ввиду, я только учусь и критика и советы только приветствуются!


Название: Re: Простой способ смены спрайтов
Отправлено: Fur от Январь 08, 2024, 20:04:30
Аж олдскулы свело.