Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

亲测Rokon引擎感想 #23

Open
chazikaifa opened this issue Apr 29, 2016 · 4 comments
Open

亲测Rokon引擎感想 #23

chazikaifa opened this issue Apr 29, 2016 · 4 comments

Comments

@chazikaifa
Copy link

这星期在捣鼓这个游戏引擎,就说说这个引擎吧

@chazikaifa
Copy link
Author

首先说明,并不是这个引擎有多好我才去研究它,本身这个引擎已经停止更新了。
另外我也不是故意搞成类似贴吧防和谐自己一楼一楼盖,只是手机版Gayhub提供写内容的框太小,我以为只是issue的简介。(不过既然这样了我就一楼一楼盖吧,欢迎各位大佬插楼讨论)
首先我之前没接触过任何游戏引擎,先从2D引擎下手很正常吧。
然后在安卓上使用的2D引擎,Andengine和cocos2D-x名气都比较大,另外我也搜到了诸如Angle之类的引擎,这个之前听都没听说过的Rokon哪里好了?
其实没有那么多高大上的理由,只是有俩很纯粹的原因。首先,rokon是用java写的。(cocos2d-x是C艹)既然是第一款引擎,辣么自己翻源码学习肯定是必要的啦,在写了这么久安卓之后,还是看java比较亲切。第二,rokon只需导入一个lib就能用!其他好几款都是直接工程带源码,虽然查源码方便,但是清一色都是eclipse工程android studio不认啊!(后来好像查到说只需要基于源码src部分新建工程就可以,但是没实践,如果有大佬知道麻烦指点一下)

@chazikaifa
Copy link
Author

引擎的运行机制比较好理解,我就简单说一说。
首先在主进程MainActivity创建的时候设置并创建引擎,引擎加载成功后调用我们设定的画面,画面里需要我们去设置图层纹理以呈现图案。纹理的设置用不同的精灵(Sprite)来区别不同物体,就可以分别进行运动和进行碰撞判断之类的了。
(这里插个题外话,之前某学生学python,书上示例里的小游戏对于不同物件用的也是精灵Sprite,这是什么梗?或者说这是游戏开发里面约定俗成的?)
rokon的文档在百度文库上也能找到,这里我就不贴链接了

@chazikaifa
Copy link
Author

然后我找了找相关开发教程,在csdn上找到了一个比较简单易懂的,链接在此。
http://m.blog.csdn.net/article/details?id=6451672
然后,我继续找别的,发现都是这一篇的转载。另外这篇文章最后提到的另外一位大佬的博客也已经被和谐,所以目前就只找到这个(委屈)
目前我照着这个教程和开发文档进行demo测试,还是遇到了不少问题的接下来就说说我遇到的问题吧。

@chazikaifa
Copy link
Author

chazikaifa commented Apr 29, 2016

首先,照着博客所说的把源码写好,发现我连引擎都创建不出来!(ノ=Д=)ノ┻━┻
报错的还是onCreate函数里面super()那一行。
这这这...回调函数出错我还是第一次见。我翻了半个小时文档没看出个名堂,结果发现问题在于继承的RokonActivity有两个onCreate()函数,一个参数为空,一个是Bundle(也就是一般Activity重载的那个)而且两个onCreate()都会被调用,必须两个都要重载。
而且,如果在两个onCreate()里面都设置参数并创建引擎,就会导致引擎反复创建的问题,虽然它自身有检查机制,但总觉得不对→_→。
我跟踪了一下程序进行的进程,发现它会先调用onCreate(),然后再调用onCreate(Bundle),也就是说后面一个其实可以啥都不写。不过为了稳定,利用engineCreated这个自带的布尔值变量来防止重复创建引擎,就没问题了。
然后是图片资源导入的问题,直到昨晚我都在查这个,今早已经找到解决方案了,但是还没验证,等搞定了继续再来盖楼

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants