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