cocos2d - 只有在用户触摸时才能播放音效?

时间:2011-12-28 22:48:45

标签: cocos2d-iphone simpleaudioengine

如何在用户触摸时播放音效?只需重复它并在用户结束触摸时停止。

感谢。

2 个答案:

答案 0 :(得分:1)

在你的场景中使用

self.isTouchEnabled = YES;

现在你可以回复像ccTouchBegin或ccTouchEnd这样的方法(忘记了他们的名字)。所以是的,当触摸开始时,你可以安排一种方法来反复播放声音效果。当触摸结束时,取消预定。

答案 1 :(得分:1)

如果你使用SimpleAudioEngine,你可以在调用ccTouchesBegan:withEvent:时使用playBackgroundMusic :(默认为循环),然后调用stopBackgroundMusic:当你调用ccTouchesEnd时:withEvent:。

使用SimpleAudioEngine:

#import "SimpleAudioEngine.h"

在ccTouchesBegan中播放音乐:withEvent:

SimpleAudioEngine *sae = [SimpleAudioEngine sharedEngine];
[sae preloadBackgroundMusic:@"MusicLoop.mp3"];
sae.backgroundMusicVolume = 0.5f;    // Sets the volume to 50%; this is optional
[sae playBackgroundMusic:@"MusicLoop.mp3"];

要停止ccTouchesEnd中的音乐:withEvent:

[[SimpleAudioEngine sharedEngine] stopBackgroundMusic];