我的环境:
Win7 x64
Unity Pro 3.5.5
c#(Visual Studio 2010)
我的目标:
我正在用 unity3d 制作手机游戏。
我做了一个炸弹效果。
效果在显示时播放自己的声音。
规格:
效果是一个带有平面图、精灵纹理的预制件。
并有一个音频源(将 wav 文件拖放到 Inspector 中
的 Prefab),炸弹效果由我的自定义对象池管理,因此我在 Inspector 中禁用了“唤醒时播放”选项。(因为它被我的自定义规则回收)
所以我编码:
//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
问题:
炸弹效应迅速产生。(攻击速度非常快)
但声音播放就像一个单人。这意味着如果开始播放炸弹效果音频,则无法播放其他炸弹效果游戏对象的音频。直到第一个播放炸弹效果自然停止。
但据我所知,预制件的音频源可以与另一个预制件的音频源同时多次播放。但事实并非如此。我不明白。如何播放多个播放相同的音频 wav 文件?