2
因此,這裏是我的代碼:C#XNA - 通過項目迭代和畫他們
// Variables
private SpriteFont font;
private Vector2 fontPos, fontOrigin;
private List<string> menuItems;
// LoadContent()
font = Content.Load<SpriteFont>("myFont");
fontPos = new Vector2(1920/2, 1080/2);
menuItems = new List<string>();
menuItems.Add("Single Player");
menuItems.Add("Multi Player");
menuItems.Add("Achievements");
menuItems.Add("Options");
menuItems.Add("Quit Game");
// Draw()
for (int i = 0; i < menuItems.Count; i++)
{
Vector2 fontOrigin = Game.gameFontLarge.MeasureString(menuItems[i])/2;
spriteBatch.DrawString(Game.gameFontLarge, menuItems[i], new Vector2(ScreenManager.Instance.Dimensions.X/2, ScreenManager.Instance.Dimensions.Y/2), Game.NoTint, 0.0f, fontOrigin, 1.0f, SpriteEffects.None, 0.0f);
}
到目前爲止,這個代碼繪製的一切,但所有的文本都繪製在彼此在同一個座標,屏幕的中心。如何使列表中的每個字符串都繪製在前一個字符下方,如前面的24
像素?
謝謝!它的工作原理不需要'我'來浮動。正如我測試過的,'Vector2.Y'和'Vector2.X'是'float',但我不必在分區中投出'2',因爲浮點數可以被整數分開/相乘(可能不是在所有情況下,但這個確切情況並不需要劇組)。 – jacksparrow