XNA/C# を使用して Windows phone 用に作成したゲームがあり、プレーヤーを支援するために爆弾を追加することにしました。
これで、レベルごとに 1 つの爆弾しか使用できないように、タイマーと bool をセットアップしました。
しかし、ゲームが始まるやいなや、爆弾はすでにそこにあります!タイマーは作動していないと思います。
bool canDrawBomb = false;
public static Texture2D bomb;
GameTimer bombTimer = new GameTimer();
protected override void Initialize()
{
// Bomb timer.
bombTimer.UpdateInterval.Add(new TimeSpan(50000));
bombTimer.Update += bombTimer_Update;
bombTimer.Start();
base.Initialize();
}
void bombTimer_Update(object sender, GameTimerEventArgs e)
{
canDrawBomb = true;
bombTimer.Stop();
}
protected override void LoadContent()
{
bomb = Content.Load<Texture2D>("Bomb");
}
protected override void Draw(GameTime gameTime)
{
if (canDrawBomb)
{
// Draw the bomb.
// TESTED: OK. The bomb can draw but not at right time.
spriteBatch.Draw(bomb, new Vector2(), Color.White);
}
}
ここでの問題は、bombTimer を 50 秒に設定したにもかかわらず、ゲームの開始時に描画されることです!
どうすればこれを修正できますか? 私は何時間もこれにいましたが、それは私を狂わせています。何が間違っているのかわからない!