ien0
@ien0

Пропадает герой в game maker 2?

Пропадает персонаж из комнаты через некоторое время после запуска комнаты. Время до пропажы всегда разное.
Код такой:

Создать:
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;
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы