Question

Je suis en train de jouer un son sur touchesEnded mais je vais avoir un problème. Il y a plusieurs objets qui se déplaçaient, si le code ci-dessous est vrai lorsqu'un objet est déplacé, il joue constamment le son. Comment puis-je jouer qu'une seule fois?

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

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

        [self playsound];
    }
}
Était-ce utile?

La solution

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

Si vous voulez seulement de jouer une fois, puis juste donner une variable rapide comme int playCount = 0; puis le mettre à playCount = 1; après que vous avez fini de jouer et faire une si-alors ce aussi bien (c.-à-jouer si playCount est 0, ne joue pas si playCount est 1).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top