0

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

谢谢。

4

2 回答 2

1

如果使用 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];
于 2012-09-17T20:33:00.670 回答
1

在您的场景中使用

self.isTouchEnabled = YES;

现在您可以响应 ccTouchBegin 或 ccTouchEnd 之类的方法(忘记了它们的名字)。所以是的,当触摸开始时,您可以安排一个方法来一遍又一遍地播放声音效果。当触摸结束时,取消计划。

于 2011-12-28T23:02:47.520 回答