0

我正在尝试在 touchesEnded 上播放声音,但我遇到了问题。有多个对象会四处移动,因此如果以下代码在任何对象移动时成立,它就会不断播放声音。我怎么只玩一次?

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{

    if(CGRectContainsRect([image1 frame], [image2 frame])){

        [self playsound];
    }
}
4

1 回答 1

1

如果您只希望它为调用 touchesEnded 的某个对象播放,您首先需要识别该对象,然后您可以快速执行 if-then 语句。

如果您只希望它播放一次,那么只需给它一个快速变量int playCount = 0;,然后playCount = 1;在您完成播放后将其设置为并对其执行 if-then 语句(即如果 playCount 为 0,则播放它,不要如果 playCount 为 1,则不播放)。

于 2010-04-30T03:40:52.057 回答