3

私は事実上、1秒ごとに使い果たしたいヘルスバーを持っています. バーが枯渇する速度は別の変数で宣言され、ゲーム内でプレイヤーが行うアクションに応じて変化します。

これを達成する方法についてGameTimeを使用する方法に関するヒントはありますか?

4

2 に答える 2

2

役に立つと思われるコードを次に示します。まず、作業する時間間隔を設定するために、いくつかの変数を宣言します。

float timer = 3;
float const TIMER = 3;     //We also declare a const for resetting purposes

update メソッドでは、最後の更新からの経過時間 (デルタ時間) を次のように抽出できます。

float elapsed = (float)gameTime.ElapsedGameTime.TotalSeconds;

引き続き更新メソッドで、タイマー変数を使用して経過時間を減算できるようになりました。

timer -= elapsed;

タイマーが期限切れになっているかどうかを確認し、コードを実行するだけです。

if (timer < 0)
{
    if (health > 0)
    {
        health -= rate;
        timer += TIMER;   //reset timer
    }
}

そして、それが私がそれをする方法です。

于 2013-05-28T16:42:15.017 に答える