Android游戏引擎《Rokon》学习笔记二:HelloWorld

 

关于《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修饰类的使用 

 

 

 


 

 

 

 

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值