Пропадает персонаж из комнаты через некоторое время после запуска комнаты. Время до пропажы всегда разное.
Код такой:
Создать:
xDir=0;//движется ли игрок и куда он движется 1 или -1
stepLength=10;//на сколько передвигается игрок каждый щаг
dx=0;//двигается игрок и на сколько
gravitation=1.75;//скорость падения ну или гравитация простыми словами
jumpImpulse=-17;//сила прышка игрока,со временем она будет уменьшаться на gravitation
dy=0;//тоже что и dx только по вертикали
onGround=false;//нужна для проверки стоитли игрок на земле
isDead=false;//нужно для смерти игрока
dxBoost=1.0//насколько умножается скорость игрока
Шаг:
xDir = -keyboard_check(ord("A")) + keyboard_check(ord("D"));//принимает значения зажатия кнопок A и D
dx = xDir * stepLength;//вычисляет то куда и с какой скоростью движется игрок
if (xDir=-1){
sprite_index=sprPlayrGoLevo
}
if(xDir=1){
sprite_index=sprPlayrGoPravo}
//не забудь про ускоряющие платформы
if (!place_meeting(x + dx, y, oSolid)) //проверяет касается игрок этого обьекта
x += dx*dxBoost;//передвигает игрока на значение dx
else
while (!place_meeting(x + sign(dx), y, oSolid))
x += sign(dx);
if (onGround)
if (keyboard_check_pressed(ord("W")))
dy = jumpImpulse;
if (!place_meeting(x, y + dy, oSolid)){
y += dy;
}
else
{
while (!place_meeting(x, y + sign(dy), oSolid))
y += sign(dy);
//не забудь про усиление прыжка платформы
}
dy += gravitation;
onGround = place_meeting(x, y + 1, oSolid);
if (isDead)
room_restart();//запустить комнату заново если игрок умер
Клавиша Up-D:
sprite_index=sprPlayrStaticPravo
Клавиша Up-A:
sprite_index=sprPlayrStaticLevo
Нажать клавишу -W:
if (sprite_index=sprPlayrGoPravo or sprite_index=sprPlayrStaticPravo)
{
sprite_index=sprPlayrJump
}
else
{
sprite_index=sprPlayrJumpLevo
}
Вне рума:
isDead=true;