如何在矩形内居中图像:
Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White);
您可以将原始重载用于 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);
其中一个重载SpriteBatch.Draw()
要求 a Texture2D
(图像)、a Vector2
(图像的位置)和 a Color
(图像的色调)。您不必使用矩形来绘制图像。只需使用一些数学来获得该位置的正确值X
和Y
值。
您将不得不考虑图像的高度/宽度,以及包含对象的高度/宽度(如屏幕或其他东西)。
另一种选择是使用带Origin
参数的重载。将此设置为图像的相对中心。这会将图像的“绘制原点”从左上角更改为中心。