XNA中的高级RPG样式移动

Xed*_*ire 4 xna

我正在做一个自上而下的RPG游戏 - 类似于口袋妖怪,但我坚持角色运动.基本上,我想要实现的是为我的播放器和地图上的其他人提供基于平滑图块的移动系统.有没有人设法有效地做到这一点?如果是这样,怎么样?

Lyi*_*ise 8

如果你正在使用像神奇宝贝一样使用的网格系统,你可以通过设置它们在瓷砖之间移动的速度来实现这一点.

例如,如果您创建它以便他们可以每秒移动一个图块,则可以(float)gameTime.ElapsedGameTime.TotalSeconds在您的Update函数中使用它来确定游戏更新的速度.从这里,您应该能够使角色移动((float)gameTime.ElapsedGameTime.TotalSeconds * TileSize)每个更新.

这意味着如果他们每秒有4次更新(非常慢,但是例如),他们将在每次更新时移动横跨瓷砖的距离的1/4,并在移动时间段结束时到达终点(1在这种情况下的第二个).在这种情况下,如果你有32个像素图块,它们会移动0.25 * 32每个更新,或8个像素.

希望这可以帮助.