如何使用以下内容将图像置于矩形中心:
Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White);
答案 0 :(得分:1)
您可以使用原点重载进行spritebatch
Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White,0f,new Vector2(imagename.Width /2, imagename.Height /2) ,SpriteEffects.Null, 0);
答案 1 :(得分:0)
SpriteBatch.Draw()
的一个重载要求Texture2D
(图像),Vector2
(图像的位置)和Color
(色调)图像)。您不必使用矩形来绘制图像。只需使用一些数学运算来获得该位置的正确X
和Y
值。
您必须考虑图像的高度/宽度,以及包含对象的高度/宽度(如屏幕或其他内容)。
另一种选择是使用带有Origin
参数的重载。将其设置为图像的 relative 中心。这会将图像的“绘制原点”从左上角更改为中心。