cocos2d-android——给精灵添加动作
2014-01-23 16:44
337 查看
1、将player.jpg放到assets目录下
2、MainActivity
package com.njupt.firstgame;
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;
}
}
3、GameLayer
package com.njupt.firstgame;
import org.cocos2d.actions.interval.CCJumpTo;
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");
//设置精灵对象的位置
player.setPosition(100,100);
/**
* 设置精灵的位置还可以通过以下这种方法:
* CGPoint point = CGPoint.ccp(150, 150);
player.setPosition(point);
*/
//将精灵对象添加到布景层中
this.addChild(player);
//CGPoint对象通常用于表示坐标,或者是表示向量
CGPoint target = CGPoint.ccp(400, 100);
/**
* CCJumpTo:一个跳跃的动作
* CCJumpTo.action(3, target, 200, 3)这4个参数分别为动作的持续时间,终点,跳跃的高度,跳跃的次数..
*/
CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 3);
//使用精灵对象执行这个动作
player.runAction(jumpTo);
}
}
-----------------------
本例子源码的下载链接:http://download.csdn.net/detail/caihongshijie6/6877777
2、MainActivity
package com.njupt.firstgame;
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;
}
}
3、GameLayer
package com.njupt.firstgame;
import org.cocos2d.actions.interval.CCJumpTo;
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");
//设置精灵对象的位置
player.setPosition(100,100);
/**
* 设置精灵的位置还可以通过以下这种方法:
* CGPoint point = CGPoint.ccp(150, 150);
player.setPosition(point);
*/
//将精灵对象添加到布景层中
this.addChild(player);
//CGPoint对象通常用于表示坐标,或者是表示向量
CGPoint target = CGPoint.ccp(400, 100);
/**
* CCJumpTo:一个跳跃的动作
* CCJumpTo.action(3, target, 200, 3)这4个参数分别为动作的持续时间,终点,跳跃的高度,跳跃的次数..
*/
CCJumpTo jumpTo = CCJumpTo.action(3, target, 200, 3);
//使用精灵对象执行这个动作
player.runAction(jumpTo);
}
}
-----------------------
本例子源码的下载链接:http://download.csdn.net/detail/caihongshijie6/6877777
相关文章推荐
- Cocos2d-android (02) 添加一个精灵对象
- cocos2d_android 向布景层添加一个精灵对象
- cocos2d-x 3.X 如何在android里添加广告
- android cocos2d动作自定义
- cocos2d-x for android:CCSprite 精灵动画
- android中监听事件添加动作
- Android Fragments详解五:与Activity通讯,把条目添加到动作栏
- cocos2d-x在android下添加插屏广告 (转)
- Cocos2d-x自动添加源文件(*.CPP)到Android工程
- cocos2d-x学习笔记【三】添加精灵及相关操作
- cocos2d-x 3.X 如何在android里添加广告
- cocos2d-x 3.X 如何在android里添加广告
- cocos2d-x在Android.mk中自动添加Cpp
- Android和cocos2d-x 中Amazon添加广告
- Cocos2d-x 3.X, Android Studio版添加广点通广告平台
- cocos2d-x添加广告条(IOS and Android)
- OpenGL ES2.0入门之Android篇(二)——添加动作及触摸事件
- Android OpenGL ES 入门系列(六) --- 为绘制对象添加动作
- Cocos2d-X 精灵、动作效果
- cocos2d-x添加android手机震动