Audio 投币、杀戮和通电声音之间有300毫秒的延迟

Audio 投币、杀戮和通电声音之间有300毫秒的延迟,audio,cocos2d-x,Audio,Cocos2d X,我正在制作一款游戏,里面有硬币、电源和死亡的声音。这是一场比赛的常规。我的音响工程师告诉我,为了让它听起来更好听,我需要在所有声音之间有300毫秒的延迟,这样它们就不会相互重叠,声音就更大了 例如,如果你在300毫秒内捡到多个硬币,我不想为所有硬币播放声音 下面是我如何播放随机死亡的声音。但我如何增加延迟 int random = rand() % 4; switch (random) { case 0: CocosDenshion::SimpleAudioEngine

我正在制作一款游戏,里面有硬币、电源和死亡的声音。这是一场比赛的常规。我的音响工程师告诉我,为了让它听起来更好听,我需要在所有声音之间有300毫秒的延迟,这样它们就不会相互重叠,声音就更大了

例如,如果你在300毫秒内捡到多个硬币,我不想为所有硬币播放声音

下面是我如何播放随机死亡的声音。但我如何增加延迟

int random = rand() % 4;

switch (random) {
    case 0:
        CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect( enemyDeathSoundName );
        break;
    case 1:
        CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect( enemyDeathSoundName2 );
        break;
    case 2:
        CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect( enemyDeathSoundName3 );
        break;
    case 3:
        CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect( enemyDeathSoundName4 );
        break;

    default:
        break;
}

有人对如何实现这一点有想法吗?

使用一些现有节点,并执行延迟时间操作。像

node->runAction(Sequence.create(DelayTime.create(0.5), CallFunc.create(playSound)));
然后在函数playSound中播放声音


这是一个技巧,如果你没有更好的选择,你可以在一个数组中添加事件(作为动作)并按顺序运行动作。例如,你为数组中的一个敌人添加事件,如果你杀死了3个敌人,则在一个数组中添加多个动作,延迟时间并按顺序运行

您可以在此处检查如何添加动作数组(向量):


这可能会有帮助:@Patrick我正在使用
cocos2d-x,所以我没有那些可用的
Objective-C`方法。但是如果两个同时得到提示,这会有帮助吗?他们仍然会在对方之上比赛。。。