私は事実上、1秒ごとに使い果たしたいヘルスバーを持っています. バーが枯渇する速度は別の変数で宣言され、ゲーム内でプレイヤーが行うアクションに応じて変化します。
これを達成する方法についてGameTimeを使用する方法に関するヒントはありますか?
私は事実上、1秒ごとに使い果たしたいヘルスバーを持っています. バーが枯渇する速度は別の変数で宣言され、ゲーム内でプレイヤーが行うアクションに応じて変化します。
これを達成する方法についてGameTimeを使用する方法に関するヒントはありますか?
役に立つと思われるコードを次に示します。まず、作業する時間間隔を設定するために、いくつかの変数を宣言します。
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
}
}
そして、それが私がそれをする方法です。