懒骨头(http://blog.csdn.com/iamlazybone)
纪念Rokon停止更新——从零开始用Rokon开发一个小游戏
还没开始认真的学习Rokon框架,就这么停止更新了,真想接过来继续做下去,可惜骨头太有自知之名了。
那就用Rokon写个小游戏纪念一下:
0.建项目
首先新建一个android项目,然后建立libs文件夹,把rokon-2-0-3.jar文件和libgdx.so文件拖进去,然后项目右键Properties里找到Java Build Path,把rokon-2-0-3.jar作为引用库添加到项目里。
1.入口Activity类
下面是LazyGameByRokon.java的代码
首先我们的activity类要继承RokonActivity,在onCreate()方法里进行引擎的一些初始化设置。
当引擎加载完成后,会自动调用onLoadComplete()方法。比如我们可以从这里进入游戏主菜单。
2.建场景类
和大多数游戏引擎一样,Rokon分场景Scene来管理的,比如主菜单为一个场景,游戏中为一个场景。这里我们只要游戏中一个场景。
新建一个GameScene类继承自Rokon的Scene类,如下:
我们只是实现和覆盖了一些基本的方法,比如
onGameLoop();//顾名思义,是游戏循环时调用的方法,可以在里面做一些更新。
onTouchDown();//等等按键和触摸事件。
onResume();//这里以后会用到,可以在这里释放图片资源。
useInvoke();// 回调方法以后再说。
场景类添加好了之后,回到主Activity里创建一下:
3.加载图片资源
此时GameTextures.load();这句会报错。下面我们来添加资源类GameTextures。
GameTextures类代码如下:
每当需要一个资源时,你就可以new一个新的Texture,实例化并且添加到资源管理器altlas里。记住最要要调用atlas.complete();告诉引擎资源加载完成。
4.加载背景和Sprite精灵类
在GameScene.java里添加背景:(模拟器可能无法看到背景,真机可以,原因不明)
private FixedBackground background;
构造方法里面添加
background = new FixedBackground(GameTextures.gameBack);
setBackground(background);
精灵类的添加:
private Sprite boy;
// 实例化boy并添加到Scene里
boy = new Sprite(100, 100, GameTextures.boy.getWidth(),
GameTextures.boy.getHeight());
boy.setTexture(GameTextures.boy);
add(1, boy);
-----------------待续----------------