我正试图在touchesEnded上播放声音,但我遇到了问题。有多个对象可以移动,所以如果下面的代码在移动任何对象时都成立,它会不断播放声音。我怎么只玩一次?
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
if(CGRectContainsRect([image1 frame], [image2 frame])){
[self playsound];
}
}
答案 0 :(得分:1)
如果你只希望它为某个调用touchesEnded的对象播放,你首先需要识别该对象然后你可以做一个快速的if-then语句。
如果您只想播放一次,那么只需给它一个快速变量,如int playCount = 0;
,然后在完成播放后将其设置为playCount = 1;
并对其执行if-then语句同样(如果playCount为0则播放,如果playCount为1则不播放)。