加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2dx-master之Aciton(一)

发布时间:2020-12-14 19:22:57 所属栏目:百科 来源:网络整理
导读:刚看是学习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.CCLaye
刚看是学习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");
	}
}




??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读