touchesЗавершился звук?
-
22-09-2019 - |
Вопрос
Я пытаюсь воспроизвести звук на touchEnded, но у меня возникла проблема.Существует несколько объектов, которые перемещаются, поэтому, если приведенный ниже код выполняется при перемещении любого объекта, он постоянно воспроизводит звук.Как мне сыграть только один раз?
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
if(CGRectContainsRect([image1 frame], [image2 frame])){
[self playsound];
}
}
Решение
Если вы хотите, чтобы он воспроизводился только для определенного объекта, который вызывает touchesEnded, вам сначала нужно идентифицировать этот объект, а затем вы можете просто выполнить быстрый оператор if-then.
Если вы хотите, чтобы он воспроизводился только один раз, просто задайте ему быструю переменную, например int playCount = 0;
а затем установите его на playCount = 1;
после того, как вы закончите играть, также сделайте для этого оператор if-then (т. е.воспроизвести его, если playCount равен 0, не воспроизводить, если playCount равен 1).