1

この問題を数時間検索してみましたが、解決策が見つかりませんでした。
続きを読む:
私は、ヘルスバーを含む戦いを伴う小さなポケモンのような RPG のプログラミングを開始しました。

ヘルスバーについては、次のコードを使用しています。

public void Draw(GameTime gameTime)
{
    spriteBatch.Draw(pixel, new Rectangle((int)hpBarPosition.X - 2, (int)hpBarPosition.Y - 2, monstar.HPBase + 4, hpBarHeight + 4), Color.Black);
    spriteBatch.Draw(pixel, new Rectangle((int)hpBarPosition.X, (int)hpBarPosition.Y, monstar.HPCurrent, hpBarHeight), Color.Green);
}

関連する変数は次のとおりです。

  • monstar.HPBase300のHPCurrentような単なる int 値です。
  • hpBarPosition初期化されていますVector2 hpBarPosition = new Vector2(350, 180);
  • hpBarHeightは 10 です。
  • pixel私のHPBarクラスのコンストラクターで次のように初期化されます
    pixel = new Texture2D(spriteBatch.GraphicsDevice, 1, 1);
  • これspriteBatchは私のメインクラスと同じです。(パラメータとして渡されるだけです)
  • -Method は、aと a の間のメイン クラスの -MethodでDraw呼び出されます。DrawGraphicsDevice.Clear(Color.Indigo); spriteBatch.Begin();spriteBatch.End();

ところで、私のクラスはから継承しませんDrawableGameComponentDrawメインクラスの draw メソッドで 自分で書いたメソッドを呼び出しているだけです。

ここで、黒いバーが緑色のバーの境界として機能するように、その上に少し小さい緑色のバーがある黒いバーを期待していました。ただし、黒色はまったく表示されません。緑のバーは、このチャートの CadetBlue に似た濃い青みがかった緑である Green と Indigo の混合です。しかし、いつもそうであるとは限りません。黒いバーと非常に濃い緑色が表示されることがありますが、意図したとおりに見えることはほとんどありません。

Windows 7 の Visual Studio 2012 で最新の Monogame バージョンを使用しています。また、ヘルスバーを除いて、キャラクター、モンスター、背景タイルなどの他のすべてのテクスチャが適切に表示されます。

問題は何ですか?
前もって感謝します。

4

0 に答える 0