OFを使って簡単な楽器を作ろうとしています。基本的に、それは画面の周りを跳ね回るさまざまなボールの束です。各ボールは音符を表します。2つのボールが十分に近づくと、(それらのボールの)2つのノートが演奏されます。
なんとか音を出すことができました。しかし、彼らはあまりにも速く自分自身を繰り返します、それはグリッチのように聞こえます。ボールが分離すると、音が正しく再生されます。
とにかく繰り返しを遅くする方法があるのだろうか?
OFを使って簡単な楽器を作ろうとしています。基本的に、それは画面の周りを跳ね回るさまざまなボールの束です。各ボールは音符を表します。2つのボールが十分に近づくと、(それらのボールの)2つのノートが演奏されます。
なんとか音を出すことができました。しかし、彼らはあまりにも速く自分自身を繰り返します、それはグリッチのように聞こえます。ボールが分離すると、音が正しく再生されます。
とにかく繰り返しを遅くする方法があるのだろうか?
ボール間の距離を 1 秒間に複数回チェックし、距離がしきい値を超えると、同じレート (1 秒間に複数回) でサウンドをトリガーするため、これは完全に理にかなっています。
おそらく次のようなものが必要です。
in update loop:
for each ball
if distance to other ball < threshold distance
if the collision sound isn't already playing/hasn't finished
play collision sound
基本的に、衝突が検出された場合、サウンドを複数回ではなく 1 回トリガーする必要があります。