Frage

Ich versuche, einen Ton auf touchesEnded zu spielen, aber ich habe ein Problem mit. Es gibt mehrere Objekte, die bewegt zu bekommen, so dass, wenn die folgenden Code gilt, wenn ein Objekt bewegt wird, es immer wieder den Ton spielt. Wie kann ich es nur einmal spielen?

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

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

        [self playsound];
    }
}
War es hilfreich?

Lösung

Wenn Sie es nur für ein bestimmtes Objekt spielen möchten, dass Anrufe touchesEnded, müssen Sie zunächst das Objekt identifizieren, und dann können Sie nur eine schnelle tun if-then-Anweisung.

Wenn Sie nur wollen, dass es einmal zu spielen, dann ist es nur geben einen schnellen Variable wie int playCount = 0; und dann setzen Sie ihn auf playCount = 1; nachdem Sie fertig spielen und tun eine if-then-Anweisung auf, dass auch (dh spielen es, wenn playcount spielt es 0 ist, nicht, wenn playcount ist 1).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top