在我试图制作的游戏中,我有一些船只(不是太空船等等,它们在水中的实际船只)
如果我直接旋转它们,我会得到荒谬的结果。
每艘船需要拍8张照片吗? (考虑到有8个方向) 有没有什么方法可以通过创建一个图像或至少一个图像来代替8?
答案 0 :(得分:1)
基本上,旋转数学是对原始图像的解释。
当然,它取决于图像的复杂程度以及直线与垂直事物之间的关系,但有些事情只是不工作。
如果你正在用船进行自上而下的2D游戏,那么我将假设帆船在这里,然后在数学上旋转真的只是不会看起来很好,因为他们自己的风帆会移动和角度取决于风速/风向和船的角度。
长话短说?数学旋转适用于小行星式三角形船,对于正确的图形效果不佳。
希望这有帮助!
答案 1 :(得分:1)
如果你正在谈论2D图形并且得到“荒谬的结果”,我假设你没有考虑到原点。如果你有一个Texture2D并给它一个旋转值,它将按默认原点旋转,即(0,0)。尝试在spritebatch.Draw调用新的Vector2(texture.width / 2,texture.height / 2)中设置你的原点,看看这是否是朝着正确方向迈出的一步。
另一种方法是使用你提到的8幅图纸的spritesheet,并引用texture2D的不同源矩形。