【发布时间】:2012-09-15 04:08:27
【问题描述】:
我无法确定我需要做什么才能让我的游戏中的精灵对象有一个 2D BoundingRectangle 旋转和更新位置,具体取决于用户希望精灵旅行的方式。
我用它的旋转和缩放值画出精灵,如下所示:
spriteBatch.Draw(texture, position, null, Color.White, rotation, origin, scale, SpriteEffects.None, 1f);
我目前获取 BoundingRectangle 的设置是:
public Rectangle BoundingRectangle
{
get { return new Rectangle((int)position.X, (int)position.Y, texture.Width, texture.Height); }
}
以上是非常基本的,显然不会随着精灵旋转。 我已经阅读了一些 QA 帖子并尝试了各种方法,但它们似乎都没有达到我所追求的目标或产生非常奇怪的行为。
如果您对我需要做的事情提出一些建议,我将不胜感激。
【问题讨论】:
-
你想让你的矩形也旋转,还是仍然是一个与 x/y 轴对齐的边界框? (AABB)
-
我需要一个边界框用于碰撞检测,它基于旋转的精灵所覆盖的区域。
标签: c# xna rotation xna-4.0 bounding-box