cocos2d - Как я могу воспроизвести звуковой эффект, только когда пользователь касается?

Как я могу воспроизвести звуковой эффект, только когда пользователь касается? Просто повторите это и остановите, когда пользователь заканчивает касание.

Благодарю.

2 ответа

В вашей сцене используйте

self.isTouchEnabled = YES;

И теперь вы можете отвечать на методы, такие как ccTouchBegin или ccTouchEnd (забыл их имена). Так что да, когда начинается касание, вы можете запланировать метод, который будет воспроизводить эффект звука снова и снова. И когда касание заканчивается, отмените планирование.

Если вы используете SimpleAudioEngine, вы можете использовать playBackgroundMusic: (по умолчанию цикл), когда вызываете ccTouchesBegan: withEvent:, затем вызывать 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];
Другие вопросы по тегам