旋转船舶360 *

时间:2011-07-26 00:34:38

标签: c# xna

在我试图制作的游戏中,我有一些船只(不是太空船等等,它们在水中的实际船只)

如果我直接旋转它们,我会得到荒谬的结果。

每艘船需要拍8张照片吗? (考虑到有8个方向) 有没有什么方法可以通过创建一个图像或至少一个图像来代替8?

2 个答案:

答案 0 :(得分:1)

基本上,旋转数学是对原始图像的解释。

当然,它取决于图像的复杂程度以及直线与垂直事物之间的关系,但有些事情只是工作。

如果你正在用船进行自上而下的2D游戏,那么我将假设帆船在这里,然后在数学上旋转真的只是不会看起来很好,因为他们自己的风帆会移动和角度取决于风速/风向和船的角度。

长话短说?数学旋转适用于小行星式三角形船,对于正确的图形效果不佳。

希望这有帮助!

答案 1 :(得分:1)

如果你正在谈论2D图形并且得到“荒谬的结果”,我假设你没有考虑到原点。如果你有一个Texture2D并给它一个旋转值,它将按默认原点旋转,即(0,0)。尝试在spritebatch.Draw调用新的Vector2(texture.width / 2,texture.height / 2)中设置你的原点,看看这是否是朝着正确方向迈出的一步。

另一种方法是使用你提到的8幅图纸的spritesheet,并引用texture2D的不同源矩形。