2013-05-09 87 views
0

你如何居中圖像的矩形內有:如何將圖像置於矩形中?

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

我知道我已經回答了這一點,但請你的問題提供更多的上下文。 – gunr2171 2013-05-09 23:32:50

回答

0

其中一個重載SpriteBatch.Draw()要求一個Texture2D(圖像)的,一個Vector2(在圖像的位置),以及Color(中色調的圖像)。您不應該使用矩形繪製圖像。只需使用一些數學來獲得該位置的正確的XY值。

您將不得不考慮圖像的高度/寬度以及包含對象的高度/寬度(如屏幕或其他)。

另一種選擇是使用採用Origin參數的過載。將其設置爲相對圖像的中心。這會將圖像的「繪製原點」從左上角更改爲中心。

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);