iPhone cocos2d - используйте одни и те же анимационные действия для многих спрайтов - PullRequest
1 голос
/ 03 октября 2010

Эй, Я пишу игру для iPhone, используя фреймворк cocos2d.

У меня есть 100 спрайтов, и я хочу запустить на них ту же анимацию. Нужно ли создавать 100 отдельных действий для каждого спрайта или я могу создать одно действие и использовать его на каждом спрайте?

Ответы [ 2 ]

0 голосов
/ 03 февраля 2013

Вы всегда можете сделать одно действие, используя id, а затем назначить своим спрайтам это одно действие. Как это

id myAction = [CCMoveBy actionWithDuration:0.2f position:myPoint];
id mySecondAction = [CCRotateBy actionWithDuration:0.2f angle:myAngle];
id actionSequence = [CCSequence actions: myAction, mySecondAction, nil];

Затем бегите по всем своим спрайтам и присоединяйте действие. Если у вас есть массив, используйте методологию for in, так как он быстрее.

for (CCSprites mySprites in myArray) {   
     //attach actions to sprites code here

}
0 голосов
/ 04 октября 2010

Один метод, которым я следую, заключается в том, что я создаю производный класс из класса спрайтов и назначаю действия при инициализации класса.

Например, я должен сгенерировать 10-100 вражеских спрайтов

Я сделаю класс враговActoor.mm, полученных из CCSprite

Я держу функцию

+(void)initwithParamters:(CCPoint)spwanPoint  frames:(NSString *)plist{

mummyActor *tempInstance =[mummyActor spriteWithWatever suites ur reqirment];

//do all stuff here 
//load actions

return tempInstance;

} 
//other methods to call actions or access mutators 

когда мне нужно сгенерировать этих врагов, я создаю NSMuTableArray врага с загрузкой и сохраняю все экземпляры в этом массиве ....

при применении различных алгоритмов или правил поиска путей к игре, я получаю доступ к каждому объекту из этого массива ///

Извините за плохой английский, но это лучший способ, который я нашел до сих пор, чтобы выполнить работу, не спрашивая никого;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...