AS3 ゲームでサウンドが互いに干渉するという奇妙な問題が発生しています。
ゲーム世界の各敵には、グラフィックとサウンドを含むムービークリップがあります。ゲームコードは gotoAndPlay() を呼び出して、対応するサウンドで特定のアニメーションを再生します。(ムービークリップは Flash で作成され、.swc は Flashdevelop プロジェクトにインポートされます)
問題は、特定のタイプの敵の複数のインスタンスが同時に画面に表示される場合、それらの音が互いに「踏みつける」ことです: 敵 A と B が同じタイプで、A が再生中の場合サウンド、B はそのサウンドを再生できません。gotoAndPlay は正しいアニメーションになりますが、サウンドは再生されません。
同様に、A がループ サウンドを再生し、B が停止サウンド イベントを含むフレームを再生すると、A のループが停止します。
Flashplayer がムービークリップ インスタンスごとではなく、ムービークリップタイプごとに 1 つのチャネルのみを割り当てていることは明らかですが、Google は実際には何も表示していません。
このシナリオのベスト プラクティスはありますか? (つまり、タイムラインにサウンドとアニメーションがある同じムービークリップの複数のインスタンス) 何が間違っていますか?!
御時間ありがとうございます。
[編集]
私が言いたいことをもう少しよく説明するために、敵が走ったり、しゃがんだり、ジャンプしたり、銃を発砲したりするなど、いくつかのアニメーションを含む Baddie ムービークリップがあるとしましょう。
ムービークリップには 2 つのレイヤーがあり、1 つはグラフィック (アニメーション) 用、もう 1 つはサウンド用です。
フレーム 20 には、マズルフラッシュ (アニメーション レイヤー上) と、対応する銃声 (サウンド レイヤー上) があります。フレーム 40 には、ジャンプ アニメーションと対応するジャンプ サウンドがあります。
私の問題は、これらのムービークリップが一度にステージ上に 2 つ以上あり、そのうちの 1 つが銃声の音の再生中にある場合、他のクリップは銃声の音を再生しません (それらはただし、正しくアニメーション化されます)。
Flashplayer は、特定のムービークリップのすべてのインスタンスに対して 1 つのオーディオ チャネルのみを割り当てているようです。これは役に立たないため、期待される動作ではないように思われるので、埋め込みで何かを台無しにしたと推測しています (おそらく、どこかにパラメーターまたはフラグが隠されているため、「各インスタンスに独自のサウンド チャネルを与える」と言うことができます)。 "?)