刚看是学习cocos2dx,借用宝地做些笔记。<img alt="大笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/laugh.gif" />
直接上代码:各种Action的练习
MainAcitivity.java
package org.game.secondgame; import org.cocos2d.layers.CCLayer; import org.cocos2d.layers.CCScene; import org.cocos2d.nodes.CCDirector; import org.cocos2d.opengl.CCGLSurfaceView; import android.os.Bundle; import android.app.Activity; import android.text.Layout; import android.view.Menu; public class MainActivity extends Activity { private CCGLSurfaceView view=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); view=new CCGLSurfaceView(this); setContentView(view); //获取一个导演 CCDirector director=CCDirector.sharedDirector(); director.attachInView(view); director.setDisplayFPS(true); director.setAnimationInterval(1/30.0); CCScene scene=CCScene.node(); GameLayout gameLayout=new GameLayout(); scene.addChild(gameLayout); director.runWithScene(scene); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main,menu); return true; } }
GameLayout.java
package org.game.secondgame; import org.cocos2d.actions.base.CCRepeatForever; import org.cocos2d.actions.instant.CCCallFuncN; import org.cocos2d.actions.interval.CCFadeOut; import org.cocos2d.actions.interval.CCMoveTo; import org.cocos2d.actions.interval.CCRepeat; import org.cocos2d.actions.interval.CCRotateTo; import org.cocos2d.actions.interval.CCSequence; import org.cocos2d.actions.interval.CCSpawn; import org.cocos2d.actions.interval.CCTintTo; import org.cocos2d.layers.CCLayer; import org.cocos2d.nodes.CCSprite; import org.cocos2d.types.CGPoint; import org.cocos2d.types.ccColor3B; public class GameLayout extends CCLayer { CCSprite sprite; public GameLayout(){ sprite=CCSprite.sprite("player.png"); this.addChild(sprite); CGPoint init=CGPoint.ccp(100,100); sprite.setPosition(init); CGPoint target=CGPoint.ccp(300,300); CCMoveTo moveTo1=CCMoveTo.action(1,target); CCMoveTo moveTo2=CCMoveTo.action(1,init); CCRotateTo rotateTo=CCRotateTo.action(4,180); //顺序执行,先moveTo后rotateTo(可加多个动作) // CCSequence sequence=CCSequence.actions(moveTo,rotateTo); //同时执行moveTo,rotateTo(可加多个动作) // CCSpawn spawn=CCSpawn.actions(moveTo,rotateTo); //第一个参数:本地对象;第二个参数:所要调用的函数名 // CCCallFuncN funcn=CCCallFuncN.action(this,"onActionFinish"); // CCSequence sequence=CCSequence.actions(moveTo,funcn); //逐渐淡出 // CCFadeOut fadeOut=CCFadeOut.action(5); //RGB决定颜色 // ccColor3B color3B=ccColor3B.ccc3(255,0); //将精灵颜色转变为color3B颜色 // CCTintTo tinTo=CCTintTo.action(5,color3B); CCSequence sequence=CCSequence.actions(moveTo1,moveTo2); //执行sequence行为3次 // CCRepeat repeat=CCRepeat.action(sequence,3); CCRepeatForever repeatForever=CCRepeatForever.action(sequence); sprite.runAction(repeatForever); } public void onActionFinish(Object sender){ System.out.println("onActionFinish"); } }