これは一般的な「ベスト プラクティス」の質問なので、具体的な例はありません。私は、人々が通常これにどのようにアプローチするかを理解しようとしています。
1 秒間に 60 回呼び出されるようにスケジュールされた mainGameLoop メソッドがあるとします。このメソッドには、現在のシーンのすべてのロジックがあります。ある状態になったときにSimpleAudioEngineを使って効果音を鳴らしたい。
問題は、この状態が発生すると、しばらくの間その状態が続くことです。つまり、状態が変化するまで、サウンドエフェクトが何度も何度もすばやく再生されます (結局のところ、ゲームループの中にいます)。
これに対する私の通常の解決策は、ブール値を使用してエフェクトを 1 回だけ再生することです。問題は、私は現在、非常に多くのブール値を意味する、より多くの異なる状態と効果に直面していることです。
ゲーム ループで効果音を再生するときに、人々が通常使用するより良い方法があるかどうか疑問に思っていました。
助言がありますか?
質問する
291 次
1 に答える
1
「状態変更」イベントが必要です。状態が「オン」に変わるたびに、サウンドが再生されます。この状態の変化を記録する必要があるため、各状態を記録するためにブール値を提供する方法はほとんどありません。
もちろん、各状態を個別にコーディングすることはありません。100 個のゲーム オブジェクト (果物など) があり、それぞれの果物を集めると異なるサウンドが再生されるとします。「fruitType」変数を持つフルーツ クラスがあるとします。果物を拾うと、次のことができます。
- この果物の種類がすでに「運ばれている」かどうかを確認します
- そうでない場合は音を鳴らす
- fruitType に基づいてサウンドを選択する
于 2013-09-08T14:51:39.890 に答える