cocos2d-android——给精灵添加动作
cocos2d吧
全部回复
仅看楼主
level 7
liuxijob 楼主
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);
}
}
2014年09月16日 02点09分 1
level 9
楼主,你知道怎么给精灵添加点击事件吗?我添加的事件是全屏都可以触发。
2014年10月15日 08点10分 2
level 8
怎么背景全屏阿,我设置的时候都居中设置, 好像是分辨率的问题,但是就是不行。
Layer layer = Layer.node();
layer.addChild(bg);
addChild(layer, -1);
bg.setPosition(x/2, y/2);
2015年07月09日 09点07分 3
level 1
请问用cocos2d-android做过完整的项目吗?我在做项目的过程中遇到些问题可以交流一下吗?
2015年08月19日 08点08分 4
level 11
怎么设置背景啊
2015年09月22日 06点09分 5
level 5
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);
}
}
2015年09月22日 08点09分 6
level 10
一个人几乎可在任何他怀有无限热忱的事情上成功
2015年09月22日 14点09分 7
storyboard 里segue identifer修改名字没反应,无法修改什么问题!
2015年10月19日 00点10分
level 1
求助,我想给手游添加一套装备,楼主可以帮帮我吗?就是动作外观,我自己有素材。
2018年04月12日 16点04分 8
level 1
你好,楼主请问怎么样可以在精灵上添加数字或者文本,比如植物还剩多少
2020年03月18日 02点03分 9
1