我想在那裏做短暫聲音樣本應該在使用應用軟件的人是拖他/她的手指(S)跨時播放的應用屏幕。當手指離開屏幕時 - 聲音將停止。的Cocos2D - ccTouchMoved觸發聲音反覆與ccTouchEnded不起作用
這是觸發聲音的當前功能(我已經試過各種方法):
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
NSLog(@"Ja, den börjar...");
return YES;
}
-(void)ccTouchMoved:(NSSet *)touch withEvent:(UIEvent *)event{
soundFile = [[CDAudioManager sharedManager] audioSourceForChannel:kASC_Right];
[soundFile load:@"sound.wav"];
soundFile.backgroundMusic = NO;
soundSourceForFile:@"sound.wav"]retain];
}
這是停止聲音的功能:
-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event{
[soundFile stop];
}
我第一次開始使用的ccTouchBegan(只是爲了獲得某種聲音工作),無縫地循環播放聲音。此時,ccTouchEnded與「Touch Up Inside」事件一起工作。
點,正如我所說,是聲音應該被播放時,用戶拖動他/她在屏幕上的手指(或多個)。但是當我試圖將playSound功能綁定到「ccTouchMoved」時,聲音反覆在自身上循環播放,而不是在當時使用,這使得它無法使用。在更改爲ccTouchMoved後,stopSound函數不起作用。
我試圖使用NSTimer創建某種方式來處理循環,但沒有任何成功。
我用普通的iOS SDK開始了這個項目,並發現我的侷限性,當我發現我無法處理沒有Cocos2d的節奏&增益操作。
我把一切都通過在if語句包裹它在常規SDK工作:
if(![mySound isPlaying]{
[mySound play];
}
這一點,正如我所說,在常規工作SDK完全正常,但不是現在,當我使用Cocos2D中。
你們有什麼好主意嗎?當談到Objective-C時,我是一名初學者,iPhone開發& XCode - 對我來說很裸露。
我真的覺得你指着我在正確的方向。我已經完成了上面所建議的幾乎所有事情,預載聲音並開始播放。你想幫助醫學一些關於ccTime函數的語法嗎?我在寫什麼的時候會遇到一些麻煩。 只是想澄清 - 當我觸摸背景時,我不想讓聲音播放。我只想讓它在我的手指在屏幕上移動的時候播放,然後在我將它們擡起時停下來。 感謝您抽出時間。 – user978679