Cocos2d-android (04) 执行多个动作

先后、同时执行多个动作及动作序列执行结束后的事件

 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 }

 

posted @ 2014-03-09 14:45  若。只如初见  阅读(611)  评论(1编辑  收藏  举报