在XNA 4中绘制行程距离

时间:2012-03-09 10:03:14

标签: c# xna-4.0

所以基本上我在大学里创建一个XNA游戏,我需要一些帮助,因为我似乎无法弄清楚自己,我对此很新。

基本上我有一个带有滚动背景的宇宙飞船。我已经陨落了小行星,基本上我的游戏的目的是尽可能地旅行,而不是被小行星击中。

我真的在寻找一些关于如何测量船舶的理论距离然后在屏幕上绘制的指导?

非常感谢任何帮助。

非常感谢。

1 个答案:

答案 0 :(得分:1)

解决方案A

在代码中的某处,您定义了每个帧的背景偏移。您可以反转*此值并将其添加到每帧的总量中:

totalDistance += -backdropOffset;

如果偏移量以像素为单位定义,则必须在显示距离之前将其转换为游戏世界单位(公里,光年,......)。

*如果船向前移动,背景"滑动"在另一个方向。


解决方案B(工作量更多,但头痛更少)

实际上并不是正在移动的背景;这是船。那么为什么不移动船并用相机跟着它呢?

你将能够做各种动作。现在你必须颠倒船的每一个动作,然后将它应用到背景上。有点反直觉,你不觉得吗?因此,使用此解决方案,您的代码将更接近现实=>调试过程中不那么令人头疼,更容易维护应用程序,并且在添加新功能时会更快。

当然,获得总距离与

一样微不足道
var totalDistance = myShip.Position.Y;