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

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

Спасибо.

Ответы [ 2 ]

1 голос
/ 18 сентября 2012

Если вы используете 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];
1 голос
/ 29 декабря 2011

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

self.isTouchEnabled = YES;

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

...