0

如何在矩形内居中图像:

Batch.draw(imagename, new Rectangle(x, y, imagename.width, imagename.height), Color.White);
4

2 回答 2

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);
于 2013-05-09T23:49:38.367 回答
0

其中一个重载SpriteBatch.Draw()要求 a Texture2D(图像)、a Vector2(图像的位置)和 a Color(图像的色调)。您不必使用矩形来绘制图像。只需使用一些数学来获得该位置的正确值XY值。

您将不得不考虑图像的高度/宽度,以及包含对象的高度/宽度(如屏幕或其他东西)。

另一种选择是使用带Origin参数的重载。将此设置为图像的相对中心。这会将图像的“绘制原点”从左上角更改为中心。

于 2013-05-09T23:28:34.837 回答