【发布时间】:2012-04-20 12:19:51
【问题描述】:
我有一个 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 感谢您的关注。
【问题讨论】:
标签: cocos2d-iphone audio simpleaudioengine