Я работаю над игрой с несколькими монстрами разных видов (один вид = один подкласс SKSpriteNode), пересекающими сцену. Каждому виду дается определенный звук.
Один пример: я могу иметь в определенный момент времени:
- 5 монстров А
- 2 монстра Б
- 0 монстр С
Что бы я хотел в любое время, так это зациклить звук для каждого класса, который является частью сцены (A, B) (а не для каждого спрайта!), и остановить воспроизведение звука для каждого класса, отсутствующего на сцене ( С).
Моей первой идеей было сохранить определенный звук в каждом классе монстров и добавить SKAction к каждому спрайту, который будет воспроизводить в цикле звук своего класса. Но это будет воспроизводить столько звуков, сколько спрайтов на сцене, и это не соответствует моим ожиданиям.
Есть ли у вас идея о том, какой подход лучше всего использовать для этого? Есть ли возможность реализовать своего рода наблюдателя, который мог бы уведомлять, когда экземпляр класса находится на сцене, а когда нет?
Большое спасибо за вашу помощь !