0
Xnaでゲームを作成しようとしていますが、私は把握できないような問題に遭遇しました。Xnaのメニュー項目が透明
私がやっていることは、画面上部にメニューを描画して表示することです。しかし、私は奇妙な問題を抱えています。 アルファベットを指定する唯一の場所はメニューの背景ですが、ここでは何も分かりません。
public static void draw(SpriteBatch sb,SpriteFont font,GraphicsDevice gd)
{
foreach (string item in menuItems)
{
MouseState ms = Mouse.GetState();
rect.drawRectangle(gd, sb, new Rectangle(0, 0, gd.Viewport.Width, 35), new Color(0.25f, 0.25f, 0.25f, 0.6f));
if((ms.X > startPos && ms.X < startPos + (int)font.MeasureString(item).X) && (ms.Y > 10 && ms.Y < 30))
{
if(ms.LeftButton != ButtonState.Pressed)
{
sb.DrawString(font, item, new Vector2(startPos, 10), Color.Black);
sb.DrawString(font, item, new Vector2(startPos + 1, 11), Color.Gray);
}else
{
sb.DrawString(font, item, new Vector2(startPos, 10), Color.Black);
sb.DrawString(font, item, new Vector2(startPos + 1, 11), Color.DarkGray);
}
}
else
{
sb.DrawString(font, item, new Vector2(startPos, 10), Color.Black);
sb.DrawString(font, item, new Vector2(startPos + 1, 11), Color.White);
}
startPos += (10 + (int)font.MeasureString(item).X);
}
startPos = 10;
}
RECTクラス:
public static void drawRectangle(GraphicsDevice graphics,SpriteBatch sb,Rectangle rect,Color color)
{
Texture2D pixel = new Texture2D(graphics, 1, 1);
Color[] colorData = {color};
pixel.SetData<Color>(colorData);
sb.Draw(pixel, rect, color);
}
私はアルファなしで新しい色を作成しようとしましたが、私は同じ結果を得ます。
あなたが使用しているフォントで、おそらくイメージのサイズを変更していますが、テキストは 'Öptions'と'Člose'のように見えます... –