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];