我试图在XNA中进行Tile-Base运动,但我不知道如何。我的图块是32x32,精灵的大小相同。
这是我用来移动精灵的代码:
if ( Keyboard.GetState().IsKeyDown(Keys.Up))
{
Position.Y -= Speed.Y;
}
if ( Keyboard.GetState().IsKeyDown(Keys.Down))
{
Position.Y += Speed.Y;
}
......与其他2把钥匙相同。
我希望我的精灵移动平滑,当时一个精确的平铺,但不是“跳”到平铺。 抱歉我的英语不好,谢谢。
答案 0 :(得分:0)
你需要根据已经过的时间来改变精灵的位置。
因此,如果你的速度是每秒32像素,并且经过的时间是第60秒(60fps),那么你需要每次更新只移动精灵32 * (1/60)
像素。
使用Update(GameTime gameTime)
参数获取自上次更新以来经过的时间。