سؤال

أحاول أن ألعب صوتًا على اللمسات ولكنني أواجه مشكلة. هناك كائنات متعددة يتم نقلها ، لذلك إذا كان الكود أدناه ينطبق عند نقل أي كائن ، فإنه يلعب الصوت باستمرار. كيف ألعبها مرة واحدة فقط؟

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

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

        [self playsound];
    }
}
هل كانت مفيدة؟

المحلول

إذا كنت ترغب فقط في اللعب لكائن معين يتصل باللمس ، فأنت بحاجة أولاً إلى تحديد هذا الكائن ومن ثم يمكنك فقط القيام ببيان سريع إذا كان.

إذا كنت تريد أن تلعبها مرة واحدة فقط ، فما عليك سوى إعطائها متغيرًا سريعًا مثل int playCount = 0; ثم اضبطه على playCount = 1; بعد الانتهاء من اللعب والقيام ببيان إذا كان ذلك أيضًا على ذلك أيضًا (أي تشغيل إذا كان PlayCount 0 ، فلا تلعبه إذا كان PlayCount 1).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top