在我的 CS 课程中,我一直在开发一个非常简单的游戏作为项目的基础,但是在映射移动命令时,我一直无法让角色精灵向上移动以及交换纹理。每当我尝试向上移动时,角色都会向上移动一个空格并交换纹理,然后在我释放按钮时重置到之前的位置。我尝试了几种不同的方法,最终得到几乎相同的结果。任何建议将不胜感激。
public static void Update ()
{
// Query gamepad for current state
var gamePadData = GamePad.GetData (0);
pnut = pnutDefault;
pnutDown.Position = pnut.Position;
if ((gamePadData.Buttons & GamePadButtons.Left) != 0)
{
pnut.Position.X--;
}
if ((gamePadData.Buttons & GamePadButtons.Right) != 0)
{
pnut.Position.X++;
}
if ((gamePadData.Buttons & GamePadButtons.Down) != 0)
{
pnut.Position.Y++;
}
if ((gamePadData.Buttons & GamePadButtons.Up) != 0)
{
//pnutDown.Position = pnut.Position;
pnutDown.Position.Y--;
pnut.Position.Y--;
}
}