前两天项目中有一个绘制多层景深背景的需求(有背景视差,每一层的背景移动速度不同),开始的时候用 ObjectAnimator 来实现,即把两张与屏幕等宽的图片放在一起,轮流通过屏幕,但是这样的话每一次跳转到另一个 Activity 之后返回来两张图片之间会出现间隔;再者总觉的这种方法局限性太大满足不了需求。
之后用了 SurfaceView+canvas 的的方法实现,做好之后发现 canvas.drawBitmap()绘制效率实在是太低了,一层背景还好,如果背景层数多了(需求中有 4~5 层的样子)就会出现严重的卡顿,最终无奈放弃。
最后用了 android 上的游戏赢擎— AndEngine ,完美的满足了需求。网上查了下,由于 AndEngine 的图形处理部分是直接对 OpenGL 做的封装,所以绘图的效率相对较高。
那么,问题来了。 AndEngine 是一个优秀的游戏引擎,与 Android 原生的代码混合开发方便(很多类都是对原生代码的一个封装,可以直接将一个游戏 View 嵌入到一个普通的 layout 中),其本身又是开源,所以原本是想对其源码加以研究学习的。但是笔者搜到的博客资料都是 12~13 年间的, 14 年的都很少,其本身也没有出官方的说明文档, github 上的主页貌似很早就停止更新了。后来了解到橙子游戏公司基于 AndEngine 的开发的跨平台开源引擎 OGEngine ,根据官方说法支持 JAVA 语言编码发布到 iOS 平台上~~个人觉得这对 JAVA 程序员来讲是一大福利啊,但是 OGEngine 的最新版本也就更新到 14 年,不知道还会不会有后续。
所以想请教一下各位社区的大神, AndEngine/OGEngine 还有进一步研究的必要吗?
附上 AndEngine 的 github 地址:(https://github.com/nicolasgramlich)以及 OGEngine 引擎官方地址:(http://oge.ogengine.com/)(萌新第一次发帖不当之处请多多见谅)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.