作者:Tao Wang
随着越来越多搭载 Intel Inside ® 的智能手机在全球范围内普及以及英特尔安卓系统映像(Ginger Bread、ICS 以及 Jelly Bean 4.1 和 4.2)成为 Google Android SDK 中的组件,现在我们应该确保应用能够在 ARM 和 x86 Android 两种设备上运行。 您可能获得了一个绝佳的 Android 游戏创意。 或者您可能希望为英特尔® 架构 (IA) 设备开发一款 Android 游戏应用,抑或者您可能希望移植现有应用,在其中加入一些支持英特尔 x86 的原生代码。 下面是五种优秀的源代码样本,其中包括具体的解释,能够为您的项目提供巨大的帮助。
英特尔® 发起的 Android at Play: Android 游戏应用竞赛,链接:http://www.codeproject.com/。 以下的一些代码样本是此次竞赛获奖者的作品。 这些示例非常适合 Intel x86, 并使用了英特尔 Android* 模拟器进行设计和测试。 在 Codeproject 网站上进入这些样本的页面,您可以下载源代码、Android* APK 软件包,甚至可以点击每位参赛者提交的作品,在模拟器上试用他们的应用!
代码样本 1: 3D 跨平台第三人称设计 — 适用于英特尔 x86 Android
代码项目站点 | http://www.codeproject.com/Articles/448748/3D-Cross-Platform-3rd-Person-Shooter-To-Intel-x86 |
开发人员: | |
许可 |
如果您正在考虑从事 Android 游戏开发,可以考虑该代码项目。 该应用是“Best Mobile article of August 2012”竞赛中的获奖作品,开发人员 Ashraf 介绍了移植跨平台 3D 第三人称射击游戏以支持英特尔 x86 Android* 环境的过程。
(照片: Ashraf Samy Hegab,www.codeproject.com)
在该代码样本中,开发人员 Ashraf 介绍了移植跨平台 3D 第三人称射击游戏以支持英特尔 x86 Android* 环境的过程。 其他开发人员可以免费使用源代码(Apache 2.0 许可)。 通过展示如何为面向英特尔架构的 Android* 构建代码库,Ashraf 希望其他人在他们的游戏中使用该代码并鼓励 Android 或 iOS 开发人员进入跨平台领域。
代码样本 2: R.O.O.T.S
代码项目站点 | |
开发人员: | |
许可 |
(照片: Alex Saenko 拍摄, www.codeproject.com)
R.O.O.T.S 是实时战略游戏。 和 Galcon、Eufloria、Tentacle Wars 一样也是 “Best Mobile article of October 2012”竞赛的获奖作品。 这个游戏的开发人员 Alex 分享了跨平台游戏的全部源代码,并分步介绍了如何支持多种不同平台。 该应用未使用任何游戏引擎,仅使用了几种开源库。 该款游戏具备下列特性:
- 基于 OpenGL ES 2.0 的虚拟化
- 能够生成所有纹理
- 在 GPU 上实时生成噪波纹理
- 借助 Gauss blur 实现多通道渲染
- 基于分形算法的每棵计算树具有唯一的形式
- 基于负极大值算法的 AI
- 借助 unicode 支持,为 OpenGL 上字体的渲染分级
- 从 APK 文件中直接加载游戏数据,包括播放音乐
代码样本 3: Android Pick Ball - 适用于 x86 模拟器
代码项目站点 | http://www.codeproject.com/Articles/487670/Android-Pick-Ball-To-x86-Emulator |
开发人员: | |
许可 |
该款游戏的开发人员正在了解如何开发 Android 应用开发。 除了在 Android 中创建完整的游戏之外,开发人员还学习了 NDK 开发技巧并使用 NDK 在很短的时间内构建了这款简单的游戏。他表示:“我在参加 Android 应用竞赛游戏开发的过程中学习到了许多新知识。”
(照片: R S Dogiya 拍摄,www.codeproject.com)
代码样本 4: 使用 RAD 开发 x86 Android 游戏
代码项目站点 | http://www.codeproject.com/Articles/489158/Intel-x86-Android-Game-Development-using-RAD |
开发人员: | |
许可 |
此外,一位英特尔的工程师发布的文章中还介绍了可为 x86 上的Android提供支持的 RAD 跨平台游戏开发工具/引擎,链接:http://software.intel.com/en-us/blogs/2012/03/13/game-engines-for-android。该代码样本包含所有的基本游戏元素,并很好地表现了游戏循环的实时特性以及要使用的设计原则。 开发人员在使用 NDK 构建面向基于英特尔® 架构的 Android 游戏时使用了 Monkey 游戏引擎。它利用了为面向 ARM 和 x86 架构上的 Android 预编写的 NativeGL 共享库。应用 apk 包括 x86 和 ARM 两种库,并可根据目标设备是 ARM 还是 x86 来加载所需的库。
因此,生成的 .apk 文件能够跨平台兼容,且不需要再进行原生编译就能够使用这两种架构。
代码样本 5: Terminal Velocity Android
代码项目站点 | http://www.codeproject.com/Articles/487074/Terminal-Velocity-Android |
开发人员: | |
许可 |
Terminal Velocity 是一款快动作游戏。 它很好地展示了混合项目应用,该应用一半使用了 C++,另一半使用了 Java, 并使用了 JNI 调用来桥接 Java 和 C++。 youtube 上有一个视频,专门为您展示 Terminal Velocity 如何运行 x86 模拟器