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

时间:2023-03-09 22:37:22
Cocos2d-android (04) 执行多个动作

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

 import org.cocos2d.actions.instant.CCCallFunc;
import org.cocos2d.actions.interval.CCMoveTo;
import org.cocos2d.actions.interval.CCRotateTo;
import org.cocos2d.actions.interval.CCScaleTo;
import org.cocos2d.actions.interval.CCSequence;
import org.cocos2d.actions.interval.CCSpawn;
import org.cocos2d.layers.CCLayer;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.types.CGPoint; public class GameLayer extends CCLayer { private CCSprite sprite; public GameLayer() {
sprite = CCSprite.sprite("player.png");
this.addChild(sprite); CGPoint startPoint = CGPoint.ccp(200, 200);
sprite.setPosition(startPoint);
CGPoint targetPoint = CGPoint.ccp(600, 600); CCMoveTo moveTo = CCMoveTo.action(3, targetPoint);
CCRotateTo rotateTo = CCRotateTo.action(3, 270);
CCScaleTo scaleTo = CCScaleTo.action(3, 3); // 多个动作先后执行
CCSequence sequence = CCSequence.actions(moveTo, rotateTo, scaleTo);
// 多个动作同时执行
CCSpawn spawn = CCSpawn.actions(moveTo, rotateTo, scaleTo);
//执行当前对象中的某个方法
CCCallFunc callFunc = CCCallFunc.action(this, "onActionFinished");
CCSequence sequence1 = CCSequence.actions(moveTo, callFunc); sprite.runAction(sequence1);
} public void onActionFinished(Object sender) {
System.out.println("onActionFinished");
}
}