我使用x坐标来决定玩家的移动
int xCoord=36;
我每个周期都会调用以下方法
唯一的问题是,有时候调用它会移动两个空格,因为它应该移动更多的e.x. 20。
void game::processUserInput()
{
getUserInput();
if(72-xCoord > 0)
{
if(isEventMoveRight() == true)
{
xCoord = xCoord+2;
}
}
if(xCoord > 0)
{
if(isEventMoveLeft() == true)
{
xCoord = xCoord-2;
}
}
}
答案 0 :(得分:0)
您的代码没有任何问题可能导致它在xCoord
中添加或删除太多 - 您显然会像其他人评论的那样经常调用它。无论它值多少,你的代码都可以清理一下:
void game::processUserInput()
{
getUserInput();
if (isEventMoveRight() && xCoord < 72)
xCoord += 2;
else if (isEventMoveLeft() && xCoord > 0)
xCoord -= 2;
}