Pergunta

Estou tentando tocar um som no Touchsended, mas estou tendo um problema. Existem vários objetos que são movidos, portanto, se o código abaixo é verdadeiro quando qualquer objeto for movido, ele reproduzirá o som constantemente. Como eu só jogo uma vez?

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

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

        [self playsound];
    }
}
Foi útil?

Solução

Se você deseja que ele seja reproduzido por um determinado objeto que chama o Touchsended, primeiro precisará identificar esse objeto e, em seguida, pode apenas fazer uma instrução IF-Then.

Se você quiser apenas jogar uma vez, basta dar uma variável rápida como int playCount = 0; e então defina -o para playCount = 1; Depois de terminar de tocar e fazer uma declaração IF-then também (ou seja, tocar se o PlayCount for 0, não jogue se o PlayCount for 1).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top