关于《Rokon》的说明:
Rokon主页: http://rokonandroid.com
Rokon文档:http://rokonandroid.com/javadocs/
懒骨头(http://blog.csdn.com/iamlazybone)
本人四级未考~水平有限~权当学习笔记~仅供参考~
版权的事骨头不会说~和一般博客大致相同吧~
————————————————
Android游戏引擎《Rokon》学习笔记二:HelloWorld
欢迎来到《Rokon》教程第一集
本教程和你一起建立第一个Rokon项目。
假定你已经有了一定的Java编程、Android编程的基础,如果没有,来这里(需翻墙,方法略)。
在这个教程里我将会用Eclipse作为开发工具,如果你用其他的开发工具,照样可以继续阅读。
(在教程的最后你将会下载到所涉及到的源码)
首先你需要下载Rokon的源码,里面有很多文件,但你只需那个lib包。
然后打开Eclipse,建立一个新的Android项目,Rokon支持所有1.5和以上的版本。
现在打开项目所在文件夹(即包含AndroidManifest.xml的目录)
如果你不知道项目在哪,右键你的项目,选择Properties,Location即是项目的本地路径。
在当前目录下新建一个libs的文件夹,把rokon_lib_x-y-z.zip解压到这里。
回到Eclipse,在项目右键选择刷新(Refresh)。
确保你的项目如下显示
然后添加‘rokon_x-y-z.jar’到你的Build Path,右键项目,选择Build Path > Add to Build Path,然后那个文件将会出现在 引用包(Referenced Libraries)里。
现在你已经设置好了 Rokon 项目,很简单是吗,准本开始敲代码了。
打开你的 入口Activity类。用下面的代码替换。
(你可以按住 [Ctrl + Sh ift + O] 自动更新导入项目)
像所有的Android程序那样,onCreate()方法是你游戏的入口,所以我们在这里启动、安装Rokon引擎。
debugMode();
告诉Rokon进入调试模式,这样会打印当前FPS和你自己调用Debug.print()所显示的内容。
forceFullscreen();
forceLandscape();
强制游戏全屏、横向显示(这属于可选项,还可以调用forcePortrait()强制竖屏)。
setGameSize(GAME_WIDTH, GAME_HEIGHT);
在这里设置游戏屏幕的分辨率。如果和实际的屏幕不一致,会自动适配,自动放大缩小来适用的。
setDrawPriority(DrawPriority.PRIORITY_VBO);
让Rokon在绘画时使用VBO‘S (骨头按:可能是一种OpenGL的渲染方式)。
VBO’s比一般的渲染方式更快。
setGraphicsPath("textures/");
设置图片存放路径,实际上放在assets/textures/' 。
‘onLoadComplete()’
当引擎创建成功时被调用。
所以我们在这个方法里调用Textures.load()来加载纹理(textures骨头感觉翻译成纹理不太合适),并且调用
setScene(scene = new GameScene());来加载游戏场景。
记住如果你用了 ‘forceLandscape()’ or ‘forcePortrait()’两个方法,别忘了在AndroidManifest.xml里配置一下:“android:screenOrientation”。如下图:
然后建立‘GameScene.java’ ‘Textures.java’ 这两个文件。
Textures.java:加载你的textures到你的引擎。Textures.java代码如下:
atlas = new TextureAtlas();
这条语句会建立一个 texture 地图集,算是所有textures的一个管理器或句柄(不太顺,呵呵)。
如果你有很多textures,你可以使用不止一个 atlas 来 overload the hardware.(不会)。
建议一个只使用一个atlas,因为你不可能在同一个sence或者map里使用两个不同的atlases(待修改)。
(note however that it’s recommended to use only one atlas at a time, therefore you shouldn’t use textures from two different atlases in the same scene/map/whatever)
atlas.insert(background = new Texture("background.png"));
设置背景图的纹理。
注意:我们建议按照大小顺序添加纹理了。大的在前,小的在后。
atlas.complete();
说明atlas已经加载完成。意味着一点你掉用此方法,将不能再添加其他的纹理。
下面是 GameScene.java源码:
这是个只有背景的Sence。
setBackground(background = new FixedBackground(Textures.background));
创建一个不可改变的背景。
‘onGameLoop()’
每一帧都会调用这个方法。你可以在里面更游戏逻辑,接下来的教程里会在里面处理更多东西。
‘onPause()’
当游戏隐藏时(当玩家切换到别的程序而没有关闭此程序时),此方法被调用,用来暂停游戏逻辑,而不会让用户离开时丢失任何游戏信、数据。
‘onResume()’
玩家重新回来时被调用。
‘onReady()’
当场景sense成功的创建,准备好被使用时被调用。
is called when the scene has been successfully created and is ready to be used.
(和‘onLoadComplete()’方法相似,但它是针对scene,而不是引擎)
好了,现在你只需要准备一张背景图,并且添加到‘assets/textures/’。
现在在模拟器或者手机上测试你的游戏吧。
如果不出问题的话,你将会看到:
下载本例的源码: Download (骨头按:不会翻就自己动手敲吧)
好运!行动吧。
===============你可以乘坐飞船到其他教程===============
Android游戏引擎《Rokon》学习笔记一:为你的项目添加Rokon框架
Android游戏引擎《Rokon》学习笔记二:HelloWorld
Android游戏引擎《Rokon》学习笔记三:精灵类Sprites的使用
Android游戏引擎《Rokon》学习笔记四:添加触摸控制
Android游戏引擎《Rokon》学习笔记五:Modifiers修饰类的使用