刚看是学习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, 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");
}
}