在 gamemaker 中只有一个方向的网格移动问题

问题描述 投票:0回答:0

我正在学习gamemaker,以后自己做游戏。当我开始学习如何制作网格系统的教程时,播放器只能在我按下的任何键上移动到一个方向。我按“D”,它下降。 “A”,它也下降了。我想得到答案,以确保玩家可以在网格移动类型上向所有方向移动,而不是让玩家向下移动的所有键。

“创建”代码:

gridSize = 32;
moveSpeed = 4;
isMoving = false;
moveTimer = 0;
speedX = 0;
speedY = 0;

“步骤”代码:

if(isMoving == false)
{
    if(keyboard_check(ord("D") or vk_right))
    {
        isMoving = true;
        moveTimer = gridSize;
        speedX = moveSpeed;
        speedY = 0;
    }

    if(keyboard_check(ord("A") or vk_left))
    {
        isMoving = true;
        moveTimer = gridSize;
        speedX = -moveSpeed;
        speedY = 0;
    }

    if(keyboard_check(ord("W") or vk_up))
    {
        isMoving = true;
        moveTimer = gridSize;
        speedX = 0;
        speedY = -moveSpeed;
    }

    if(keyboard_check(ord("S") or vk_down))
    {
        isMoving = true;
        moveTimer = gridSize;
        speedX = 0;
        speedY = moveSpeed;
    }
}

if(isMoving == true)
{
    x += speedX;
    y += speedY;
    
    moveTimer -= moveSpeed;
    if(moveTimer == 0) isMoving = false;
}

--尝试-- 我试图将每个“if pressed key”语句放在不同的“if isMoving is false”语句中,但没有用。我试图删除“如果按下“S”或向下箭头”以测试持续向下是否会停止,但之后所有键都会上升。我很困惑......

谁愿意帮助我,谢谢。

game-development game-maker game-maker-language
© www.soinside.com 2019 - 2024. All rights reserved.