【发布时间】:2014-04-14 19:42:59
【问题描述】:
我认为我的 Rotation 和 Origin 参数不正确。
首先,我正在用 XNA 编写一个小型角色扮演游戏,我想根据它看起来的方向旋转一个精灵。我肯定有正确的旋转和一切,但我想我可能画错了。
为什么这不起作用?
spriteBatch.Draw(Texture, Position, null, Color.White, Rotation, new Vector2(Texture.Width/2, Texture.Height/2), 1, SpriteEffects.None, 1);
我以为你用Texture.Width / 2 和Height / 2 计算原点?
【问题讨论】:
-
您能否准确解释正在发生的事情,您不希望发生的事情?
-
Oups 抱歉,完全忘记了 ;) 纹理从正常位置和上方 25 像素处绘制 ca 25 像素(顺便说一下,这是 Texture.Width/2)... @Nahuel I .
-
“不起作用”是什么意思?您是否尝试过 Vector.Zero 作为原点?
-
那是计算原点的正确方法,你说它不起作用是什么意思?
-
我想围绕中心旋转它@Pierre-Luc Pineault 它并不是真的不起作用,但它的工作方式错误:而不是围绕纹理中间旋转精灵,它正在将纹理本身绘制半个瓷砖(50x50),太左太高了。那里它旋转正确,但为什么不将纹理绘制到正确的位置??