Создание класса для запуска одного действия на нескольких спрайтах
Я пытаюсь вращать многочисленные спрайты (около 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];
}