私の環境:
Win7 x64
Unity Pro 3.5.5
c#(Visual studio 2010)
私の目的:
私は unity3d でモバイルゲームを作っています。
ボムエフェクトを作っています。
エフェクトは、表示されているときに独自のサウンドを再生します。
仕様:
エフェクトは平面図、スプライト テクスチャを持つ単一のプレハブになります。
オーディオソース (wav ファイルを Inspector の Prefab にドラッグ & ドロップ)
があり、bombeffect はカスタム オブジェクト プールによって管理されるため、Inspectorで Play on awakeオプションを無効にしました。(それは私のカスタムルールによってリサイクルされたので)
それで私はそれをコーディングしました:
//when the booming is begin
GameObject obj;
obj = MyObjectPool.Recycle("Prefabs/BombEffect"); //try recycle
if(obj != null)
{
//every object's first creation is doing here
obj = Instantiate("Prefabs/BombEffect") as GameObject;
MyObjectPool.StartManage(obj);
}
obj.audio.play(); //play
問題:
爆弾効果が急速に発生します。(アタックスピードは非常に速い)
が、サウンドの再生はSINGLETONのように機能します。これは、bombeffect オーディオの再生が開始された場合、他の Bombeffect ゲームオブジェクトのオーディオが再生できないことを意味します。最初のPLAYING爆弾効果が自然に止まるまで。
しかし、私の知る限り、プレハブのAudio Sourceは、別のプレハブのAudio Sourceと同時に複数再生できます。そうではありません。理解できない。複数再生の同じオーディオ wav ファイルを再生するにはどうすればよいですか?