我有一个 8 秒长的充电音效,仅在我的游戏中每个关卡结束时才触发播放。
问题是,当同时播放其他声音(激光、爆炸等)时,音效会在中途停止。我在其他地方读到,您可以同时播放多达 32 个声音,但游戏最多可能同时播放多达 7 或 8 个声音效果。但是充电的音效还是会中断。
如果我在游戏中不进行任何射击,只播放充电效果,它会一直播放。
我在启动时预加载我的声音,如下所示:
-(void)setupSound
{
[[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"Kickshock.mp3" loop:YES];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"explosion_large.caf"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"explosion_small.caf"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"laser_ship.caf"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"powerup.mp3"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"railgun.mp3"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"metal.mp3"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"count.mp3"];
[[SimpleAudioEngine sharedEngine] preloadEffect:@"charge_up.mp3"];
}
-(id)init
{
if( (self = [super init]) )
{
[self setupSound];
// Rest of other code..
}
return self;
}
我会在需要时播放它们(发射激光、关卡结束、爆炸等):
[[SimpleAudioEngine sharedEngine] playEffect:@"charge_up.mp3" pitch:1.0 pan:0.0 gain:0.4];
我猜充电声音正在失去它的“槽”,因为其他声音正在播放?如上所述,当充电音效切断时,我最多只能同时播放 7 或 8 个声音。
如果我的声音正在失去它的“槽”,有没有办法我可以锁定一个特定的声音效果,这样它就不会失去它的“槽”?
关于我做错了什么或我能做些什么来纠正这个问题的任何想法?任何帮助是极大的赞赏!:D 感谢您的关注。