Создание класса для запуска одного действия на нескольких спрайтах

Я пытаюсь вращать многочисленные спрайты (около 48 различных) вокруг произвольной точки (используя эту статью: http://indiedevstories.com/2012/08/14/custom-cocos2d-action-rotating-sprite-around-arbitrary-point/) и мне удалось создать для него пользовательскую категорию, но она работает только на одном спрайте. Я осмотрел сайт и попытался использовать runAction:[action copy], но он почему-то делает копии вращающимися точками сумасшедшими числами. Затем я попытался создать метод для действий и просто вызвать метод, но я продолжаю получать ошибки и для этого. Я пробовал так много разных решений, но не повезло. Итак, мой вопрос, есть ли способ, которым я могу создать другой класс, который содержит все мои спрайты, а затем запустить один метод, чтобы запустить действие на всех спрайтах класса?

1 ответ

Решение

Предполагая, что у вас есть массив с именем spriteArray содержит все спрайты, которые вы хотите вращать, это так же просто, как:

for(CCSprite *sprite in spriteArray)
{
    CCRotateAroundBy *rotateAround = [CCRotateAroundBy actionWithDuration:1.0 angle:90 rotationPoint:screenCenter];
    [sprite runAction:rotateAround];
}
Другие вопросы по тегам