質問

私はtouchesEnded上のサウンドを再生しようとしているが、私は問題を抱えています。周りに移動します複数のオブジェクトには、任意のオブジェクトが移動したときにコードの下に成立した場合、それは常にサウンドを再生、があります。どのように私は一度だけそれを再生する?

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

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

        [self playsound];
    }
}
役に立ちましたか?

解決

あなただけそれが呼び出しが、そのオブジェクトを識別するために、次にあなただけ速いのif-then文を行うことができます最初の必要性をtouchesEndedという特定のオブジェクトのためにプレーしたい場合。

プレイカウント場合は、

あなただけ一度再生したい場合は、単にそれをint playCount = 0;のような迅速な変数を与え、次にあなただ完了演奏後playCount = 1;にそれを設定し、そのだけでなく上のif-then文を実行するには(すなわち、それを再生しますプレイカウントが1の場合は0である、)それを再生しないでください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top