我正在创建一个节奏游戏,玩家可以用背部阻挡即将到来的攻击。为此,我为每个阻挡方向创建了一个防御动画。这个想法是为相应的移动键激活精灵渲染器,并停用空闲位置。不管出于什么原因,下面的代码都停留在说没有按键被按下:
public void positionDefault()
{
if (keyIsBeingPressed == false)
{
// Show the default sprite if no movement key is being pressed
abbyDefaultPosition.GetComponent<SpriteRenderer>().enabled = true;
UnityEngine.Debug.Log("no key is being pressed!");
}
else
{
// Hide the default sprite if any movement key is being pressed
abbyDefaultPosition.GetComponent<SpriteRenderer>().enabled = false;
UnityEngine.Debug.Log("a key is being pressed!");
}
}
}
这是布尔值 keyIsBeingPressed:
keyIsBeingPressed = (Input.GetKey(KeyCode.UpArrow) || Input.GetKey(KeyCode.DownArrow) || Input.GetKey(KeyCode.LeftArrow) || Input.GetKey(KeyCode.RightArrow));
我试过只使用一个 | 来制作布尔值。
我也试过使布尔值成为 != 语句。
Dank je van jij hulp!
对不起,我只是把布尔值放在 Start 函数而不是 Update 函数中。