Game Maker - создание игр | HellRoom Games
Декабрь 13, 2024, 03:18:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Простой способ смены спрайтов  (Прочитано 1787 раз)
0 Пользователей и 1 Гость смотрят эту тему.
viti4
Новичок
*

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

API: GameMaker Studio 2
Сообщений: 10


« : Январь 03, 2024, 22:43:28 »

Может кому пригодится.
Движение персонажа по 8 сторонам через стик сделано.

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

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

В изображение персонажа
Записан
Dmi7ry
Гл. Администратор
*

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

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+1000 репутации]За помощь в развитии форума!Знаток Game Maker!За помощь новичкам!
API: GameMaker Studio Master
Деятельность: Code, design
Сообщений: 6626



WWW
« Ответ #1 : Январь 04, 2024, 14:48:01 »

Так не пишут, это плохой код.
Если направление разделить без остатка (div) на шаг угла, то получится число от 0 до 7 (если 8 направлений)(ещё понадобится к направлению прибавить половину шага угла, чтобы корректно обрабатывалось направление вправо, где переход через 0 градусов, например, 350 градусов). И дальше это число можно использовать либо в названии спрайта, либо как индекс массива, в котором хранятся спрайты. В итоге вся эта простыня превратится всего в несколько строк кода.
Записан

- А какой, собственно, командой процессора колобок ест черта?
- Командой EAT...
Справка и FAQ в правом верхнем углу...
viti4
Новичок
*

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

API: GameMaker Studio 2
Сообщений: 10


« Ответ #2 : Январь 05, 2024, 15:23:22 »

Так не пишут, это плохой код.
Если направление разделить без остатка (div) на шаг угла, то получится число от 0 до 7 (если 8 направлений)(ещё понадобится к направлению прибавить половину шага угла, чтобы корректно обрабатывалось направление вправо, где переход через 0 градусов, например, 350 градусов). И дальше это число можно использовать либо в названии спрайта, либо как индекс массива, в котором хранятся спрайты. В итоге вся эта простыня превратится всего в несколько строк кода.
Буду иметь ввиду, я только учусь и критика и советы только приветствуются!
Записан
Fur
Абы-какой
GM Pro user
*

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

Пол: Мужской
Награды:
3000 сообщений!За постоянность! [500 дней на форуме]Третье место на HellRoom Jam #9 [Flucoldache]За лояльность! [+300 репутации]Настоящий игродел!Боже мой, посмотрите на эту медальку! Первое место на HellRoom Jam #6
API: Game Maker 8.0 Lite
Деятельность: Бурная.
Сообщений: 3673


Лисяток тебе.


« Ответ #3 : Январь 08, 2024, 20:04:30 »

Аж олдскулы свело.
Записан

В одной отдельно взятой фразе не должно быть больше миллиона муравьёв, пусть даже она — научного труда о муравьях.

Hyperflex
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.087 секунд. Запросов: 28.