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

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Помогите с платформером
coolminer8Дата: Суббота, 18 Мая 2013, 05:49 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Давно не создавал платформеры, и что-то все забыл...
В общем в чем проблема:

Если игрок падает и, например, справа от него стена - то когда жмешь 'вправо' в прыжке, игрок как бы застревает (ну то есть останавливается), когда отжимаешь кнопку-летит дальше.Как сделать, чтобы в прыжке игрок не застревал при нажатии влево/вправо?
Abel399Дата: Суббота, 18 Мая 2013, 06:59 | Сообщение # 2
Surpass your limits. Right now.
Сейчас нет на сайте
Привет, я, например, в своих платформерах использую при передвижении переменные hspeed и vspeed (встроенные в Game Maker). Во-первых, нужно сделать объект стены твердым (Solid). Во-вторых, к игроку в столкновение со стеной поставить проверку:
Код
//obj_wall - объект стены, hspeed - перемещение по горизонтали, vspeed - перемещение по вертикали.
move_contact_solid(direction,abs(hspeed)+abs(vspeed));
if place_meeting(x+hspeed,y,obj_wall)
     hspeed = 0;
      
if place_meeting(x,y+vspeed,obj_wall)
     vspeed = 0;

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


Ninja Slayer - 2D Physics Puzzle [cancelled]
coolminer8Дата: Воскресенье, 19 Мая 2013, 11:52 | Сообщение # 3
почетный гость
Сейчас нет на сайте
Да, получилось, просто я делал движение с x+=4 и т.п.)
  • Страница 1 из 1
  • 1
Поиск:

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