如何仅在用户触摸时播放声音效果?只需重复它并在用户结束触摸时停止。
谢谢。
如果使用 SimpleAudioEngine,则可以在调用 ccTouchesBegan:withEvent: 时使用 playBackgroundMusic:(默认为循环),然后在调用 ccTouchesEnd:withEvent: 时调用 stopBackgroundMusic:。
要使用 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];
在您的场景中使用
self.isTouchEnabled = YES;
现在您可以响应 ccTouchBegin 或 ccTouchEnd 之类的方法(忘记了它们的名字)。所以是的,当触摸开始时,您可以安排一个方法来一遍又一遍地播放声音效果。当触摸结束时,取消计划。