1
对于我当前的项目,我试图包含一个只是在现场旋转的精灵。这应该很容易,但由于某种原因,XNA正在为我的精灵位置添加一个偏移量。XNA绘图方法无意中偏移
下面是draw方法我用:
spriteBatch.Draw(
texture, //texture2D
position, //position Vector2
null, //source Rect (null draws whole texture)
Color.White, //Color
rotation, //rotation (float)
new Vector2(position.X + (texture.Width/2), position.Y +(texture.Height/2)), //origin
1f, //scale (float)
SpriteEffects.None, //spriteEffects
1); //layer depth
位置是任意的位置,目前它被设置为视口的中间底部。旋转是一个增量浮点数(增量为0.1f),并且在遍历代码时,原点和位置都保持正确的值。
但无论我尝试什么,精灵总是会在距原点一定距离处被绘制。它围绕原点旋转,但不是中心轴,而是精灵在屏幕上成拱形。
我已经尝试了XNA 4.0内置绘图方法的每个变体。任何提到旋转的都有这种效果。 (在基本的(纹理,位置,颜色)方法,位置方面很好。 我也尝试改变其他东西的纹理,老实说我已经试过了我能想到的所有东西。非常感谢任何帮助,如果需要一个更彻底的例子,我会分享它,但老实说,这种方法之外没有任何事情会发生,这会影响它的效果。
乐于助人,你的名字是pinckerman!非常感谢你,完全解决了这个问题,并且我对XNA的理解也在增长! –
不客气,Erik。 – pinckerman