2010-03-25 2 views
0

J'essaye de jouer un son sur touchEnded mais j'ai un problème. Il y a plusieurs objets qui sont déplacés, donc si le code ci-dessous est vrai quand un objet est déplacé, il joue constamment le son. Comment est-ce que je ne joue qu'une fois?toucheEnded Sound?

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

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

     [self playsound]; 
    } 
} 

Répondre

1

Si vous voulez seulement de jouer pour un certain objet qui appelle touchesEnded, vous devez d'abord identifier cet objet et vous pouvez juste faire une déclaration rapide if-then.

Si vous voulez seulement jouer une fois, alors donnez-lui une variable rapide comme int playCount = 0;, puis réglez-la sur playCount = 1; une fois que vous avez fini de jouer et faites une déclaration if-then là-dessus (c.-à-d. playCount est 0, ne le joue pas si playCount est 1).