先后、同时执行多个动作及动作序列执行结束后的事件
1 import org.cocos2d.actions.instant.CCCallFunc; 2 import org.cocos2d.actions.interval.CCMoveTo; 3 import org.cocos2d.actions.interval.CCRotateTo; 4 import org.cocos2d.actions.interval.CCScaleTo; 5 import org.cocos2d.actions.interval.CCSequence; 6 import org.cocos2d.actions.interval.CCSpawn; 7 import org.cocos2d.layers.CCLayer; 8 import org.cocos2d.nodes.CCSprite; 9 import org.cocos2d.types.CGPoint; 10 11 public class GameLayer extends CCLayer { 12 13 private CCSprite sprite; 14 15 public GameLayer() { 16 sprite = CCSprite.sprite("player.png"); 17 this.addChild(sprite); 18 19 CGPoint startPoint = CGPoint.ccp(200, 200); 20 sprite.setPosition(startPoint); 21 CGPoint targetPoint = CGPoint.ccp(600, 600); 22 23 CCMoveTo moveTo = CCMoveTo.action(3, targetPoint); 24 CCRotateTo rotateTo = CCRotateTo.action(3, 270); 25 CCScaleTo scaleTo = CCScaleTo.action(3, 3); 26 27 // 多个动作先后执行 28 CCSequence sequence = CCSequence.actions(moveTo, rotateTo, scaleTo); 29 // 多个动作同时执行 30 CCSpawn spawn = CCSpawn.actions(moveTo, rotateTo, scaleTo); 31 //执行当前对象中的某个方法 32 CCCallFunc callFunc = CCCallFunc.action(this, "onActionFinished"); 33 CCSequence sequence1 = CCSequence.actions(moveTo, callFunc); 34 35 sprite.runAction(sequence1); 36 } 37 38 public void onActionFinished(Object sender) { 39 System.out.println("onActionFinished"); 40 } 41 }