ゲームの各レベルの最後にのみ再生される 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 ご覧いただきありがとうございます。