Rokon

  想做一些android游戏,单凭android sdk估计很难实现一些复杂的游戏,为了方便入门,得先找些游戏引擎来学习一下,上网搜搜,看一些android 游戏引擎的介绍,权衡一下学习难度及提供的资料及帮助情况,决定先从rokon入手,看网上的评价如下:

 "rokon是一款Android 2D游戏引擎,基于OpenGL ES技术开发,物理引擎为Box2D,因此能够实现一些较为复杂的物理效果,该项目最新版本为 2.0.3 (09/07/10)。总体来说,此引擎最大的优点在于其开发文档相当之完备,并且项目作者对反馈Bug的修正非常之神速,所以该框架的使用在目前也最为 广泛,有人干脆将它称为Cocos2d-iPhone引擎的Android版(业务逻辑和编码风格上也确实很像)"

  配置很简单,将库下载之后引入eclipse就可以,我习惯在工程下面建个lib目录,放第三方库,释放rokon压缩包之后如下图:
 

  上网搜索一下rokon的例子,看到csdn上一位兄弟的文章,大概有几个要点:
 
1. 不继承Activity,而是继承RokonActivity。
2. 引擎创建成功时,会引用onLoadComplete,估计程序的主逻辑要从这里铺开。
   如在这里创建场景类的对象,并且通过setScene加载场景。或者在这里处理游戏的背景(csdn的兄弟翻译为纹理)。
3. 场景类必须继承Scene,需要重写onGameLoop、onPause、onResume、onReady四个方法,主要是场景控制。
   下面是仿照csdn兄弟测试的例子:
package net.gibbets;

import com.stickycoding.rokon.DrawPriority;  
import com.stickycoding.rokon.RokonActivity; 
import com.stickycoding.rokon.Scene;
import com.stickycoding.rokon.Texture;
import com.stickycoding.rokon.TextureAtlas;
import com.stickycoding.rokon.background.FixedBackground;


public class Gibbets extends RokonActivity  {
public static final float GAME_WIDTH = 480f;  
public static final float GAME_HEIGHT = 320f;  
private GameScene scene; 

public void onCreate() {  
debugMode();  
forceFullscreen();  
forceLandscape();  
setGameSize(GAME_WIDTH, GAME_HEIGHT);  
setDrawPriority(DrawPriority.PRIORITY_VBO);  
setGraphicsPath("textures/");  
createEngine();  
}  
public void onLoadComplete() {  
Textures.load();  
setScene(scene = new GameScene());  
}  
}

class Textures {  
public static TextureAtlas atlas;  
public static Texture background;  
public static void load() {  
atlas = new TextureAtlas();  
atlas.insert(background = new Texture("background.png"));  
atlas.complete();  
}  
}

class GameScene extends Scene {  
private FixedBackground background;  
public GameScene() {  
super();  
setBackground(background = new FixedBackground(Textures.background));  
}  
@Override  
public void onGameLoop() {  
}  
@Override  
public void onPause() {  
}  
@Override  
public void onResume() {  
}  
@Override  
public void onReady() {  
}  
 
后续准备自己移植个Flash游戏至android~~

 

你可能感兴趣的:(职场,休闲,rokon)