您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-android基础——瞬时动作和延时动作

2014-01-23 17:11 344 查看
1、MaInActivity

package com.njupt.actioncc;

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.view.Menu;

public class MainActivity extends Activity {

//cocos2d引擎会把图形会知道在该view对象上
private CCGLSurfaceView view = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

view = new CCGLSurfaceView(this);
setContentView(view);

CCDirector director = CCDirector.sharedDirector();//得到CCDirector对象
/**
* 设置游戏程序的相关属性
*/
director.attachInView(view);//设置当前游戏程序中所使用的view对象
director.setDisplayFPS(true);//设置游戏程序是否显示FPS值
director.setAnimationInterval(1.0f/60);//设置游戏渲染一帧所需要的时间

//生成一个游戏场景对象
CCScene scene = CCScene.node();

//生成布景层对象
GameLayer gameLayer = new GameLayer();

//将布景层对象添加至游戏场景中
scene.addChild(gameLayer);

//运行游戏场景
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;
}

}


2、GameLayer

package com.njupt.actioncc;

import org.cocos2d.actions.instant.CCFlipX;
import org.cocos2d.actions.instant.CCHide;
import org.cocos2d.actions.interval.CCJumpTo;
import org.cocos2d.actions.interval.CCMoveTo;
import org.cocos2d.actions.interval.CCRotateTo;
import org.cocos2d.layers.CCLayer;
import org.cocos2d.nodes.CCSprite;
import org.cocos2d.types.CGPoint;

public class GameLayer extends CCLayer{

//声明一个精灵对象
CCSprite player;

public GameLayer() {
//初始化一个精灵对象,sprite()方法会默认到assets目录下去找名为player.png的文件
player = CCSprite.sprite("player.png");
this.addChild(player);
//设置精灵对象的位置
player.setPosition(100,100);

/**
* 以下两个是瞬时动作:
* CCFlipX
* CCHide
*/
// //生成动作对象
// CCFlipX flipX = CCFlipX.action(true);
// //执行动作对象
// player.runAction(flipX);

// CCHide hide = CCHide.action();
// player.runAction(hide);

/**
* 以下两个是延时动作:
* CCMoveTo
* CCRotateTo
*/

/**
* CCMoveTo.action(3, pos):第一个参数表示动作持续时间,第二个参数表示终点
*/
// CGPoint pos = CGPoint.ccp(200, 200);
// CCMoveTo moveTo = CCMoveTo.action(3, pos);
// player.runAction(moveTo);

/**
* CCRotateTo.action(3, -180): 第一个参数表示动作持续时间,第二个参数表示旋转角度.
* 负数表示逆时针旋转,正数表示顺时针旋转...
*/
CCRotateTo rotateTo = CCRotateTo.action(3, -180);
player.runAction(rotateTo);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: