2015-06-05 4 views
1

Используя Spritebuilder, я скопировал временные рамки для создания цикла (например, для ходьбы), но в некоторых случаях я хотел бы использовать Timelines, которые не цепями, и циклически их программно. Я считаю, что могу использовать CCActionSequence для этого, но не смог найти пример. Может ли кто-нибудь представить пример, пожалуйста?Процитировать анимацию программно в Cocos2d, например, связать анимацию с самим собой в Spritebuilder

ответ

2

Вот последний ответ (вы, вероятно, нашли какое-то решение, но я все равно отправляю его для дальнейшего использования): Насколько я знаю, на самом деле нет какого-либо открытого способа достижения того, что вы хотите сделать в текущая версия Cocos2d (v.3.4). И на данный момент это не похоже, что это изменится в версии 4..0 (я делаю это предположение, основанное на текущем состоянии ветви разработки на Github, но это, конечно, может измениться).

Тем не менее, если вы готовы принять немного хакерства, я создал category на CCAnimationManager, что выставляя CCBSequence с (т.е. сроками), созданные в Spritebuilder, что делает возможным изменение которых временные рамки должны быть соединены вместе в коде. При использовании этой категории вы можете сделать что-то вроде этого:

//Get the timeline that you want to change 
CCBSequence * timeline = [_myNode.animationManager sequenceForSequenceNamed:@"TimeLineToLoop"]; 

//Set the chainedSequenceId to the timelines own id to make it loop infinitely. 
timeline.chainedSequenceId = timeline.sequenceId; 

//Run the loop 
[_myNode.animationManager runAnimationsForSequenceNamed:timeline.name]; 
+0

Спасибо, Понтус, я посмотрю позже сегодня. Да, у меня есть обходное решение, но это более элегантно. Смотрите многообещающе. –