Пятница, 29 Ноября 2024, 18:09

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Двигающиеся платформеры в Game Maker
MrForestДата: Вторник, 29 Июля 2014, 17:35 | Сообщение # 1
частый гость
Сейчас нет на сайте
Пытаюсь сделать передвигающиеся вверх платформы, которые двигали бы и персонажа, если бы он на них запрыгнул. Читал несколько статей в интернете, в результате сделал что-то вроде этого, но если персонаж прыгает на платформу, то она останавливается. Как это исправить?

В объекте o_platform:

Create
Код
vsp = 3


End Step
Код
y -= vsp;


В объекте o_hero:

Create
Код
platforma = noone;


Step
Код
if(platforma){  
     y -= platforma.vsp;
     vspeed = 0;
}


End Step
Код
var platforma2;
platforma2 = instance_place(x,y,o_platform); //Проверяем, не наехала ли платформа на игрока

if(platforma2){ //Если наехала
     if(point_direction(platforma2.x,platforma2.y,x,y) < 180){
         move_outside_solid(90,10);
         platforma = platforma2;  
     }
      else
     {
         move_outside_solid(270,10);
         if vspeed<0 vspeed*=-0.7;
         platforma = noone;
     }
}
else
{
     platforma = instance_place(x,y+20,o_platform);  
}

if(place_free(x,y+1) and platforma = noone){
     gravity = 0.5;
}
else
{
     gravity = 0;
     gravity_direction = 270;
}


Если персонаж прыгнет на платформу, то платформа останавливается. Как исправить?
aFriendДата: Вторник, 29 Июля 2014, 19:20 | Сообщение # 2
участник
Сейчас нет на сайте
убери галгку solid
XDominatorДата: Вторник, 29 Июля 2014, 20:09 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
во первых убрать галку solid у игрока и платформ, а во вторых все намного проще - При коллизии игрока с платформой, в ивенте платформы, пиши: other.y = y - offset_y, где offset_y - это коэффициент смещения от нуля координат платформы вверх, его тебе придется подобрать вручную в зависимости от размера твоих спрайтов. Учитывай, что когда будешь обрабатывать прыжок персонажа с платформы вверх, тебе нужно будет предваритеьлно прописать персонажу y -= 1, чтобы он на 1 пиксель приподнялся над платформой перед прыжком и коллизия с платформой больше не действовала. Как то так smile

Ghaarp

The soul lighter(Android, logic)

Zzzzombie RAGE!!!(For android)


Сообщение отредактировал XDominator - Вторник, 29 Июля 2014, 20:10
  • Страница 1 из 1
  • 1
Поиск:

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