libGDX基于RoboVM对IOS平台的支持

19 3月

Libgdx这款跨平台的游戏开发引擎,我之前的很多文章都介绍过了,可以点击Libgdx查看。

Libgdx在0.99版本正式加入对IOS的支持。

Libgdx之前其实也是支持IOS的,只是需要先转化成C#,然后使用收费的工具实现。

而现在Libgdx使用了RoboVM,这是开源免费的。目前已经有超过百款的Libgdx游戏发布到App Store了。

RoboVM

RoboVM将Java的字节码转为本地代码,并封装了UI和各种API。这样可以最大程度重用你原有的Java代码。

RoboVM需要一个Mac OS X,虽然在其他平台,比如ubuntu,也是可以使用的。不过为了更好的集成和开发,最好还是入手一个Mac吧。

RoboVM提供了Eclipse插件,安装地址:http://download.robovm.org/eclipse/

插件安装

在安装完成后复制以下代码测试以下:


右键点击Run asiOS Simulator App即可看到效果。

Libgdx和RoboVM

因为对于多数开发者而言,你是希望的是发布游戏到App Stroe,所以除了Mac以外,你还需要一个开发者认证。

建议使用setup-ui工具,这样可以免去不少烦心的配置。

导入项目后可以直接运行查看效果。

虽然原理上你可以不会oc就进行相关操作,因为RoboVM还没有完全成熟,遇上问题你需要自己解决。

对于早期的这个错误,比如java.lang.NoSuchMethodError等等,解决问题所需要的只是升级RoboVM和它的插件。

使用构建工具是一个不错的选择,比如Gradle。具体的配置可以参考RoboVM Sample iOS App

主要的配置就是


第三方服务的集成

Libgdx对IOS的支持中另外一个问题就是第三方SDK的集成。特别是对广告和应用内付费的集成。

这些问题其实是RoboVM的,而不是Libgdx,所以寻求帮助时需要明确对象。

robovm-ios-bindings是一个较好的选择,它支持大量第三方服务,如:

  • adcolony
  • admob
  • chatboost
  • crashlytics
  • facebook
  • flurry
  • gamecenter

使用步骤如下:

  • 下载这个项目
  • 导入Eclipse
  • 将你需要的依赖加入Eclipse
  • 打开robovm.xml
  • 从项目中复制你需要的配置到robovm.xml中
  • 在代码中使用

该项目的包名为org.robovm.bindings.bindingname,比如admob就是org.robovm.bindings.admob.sample

对于每种服务都有例子,可以放心大胆使用。

遇到问题怎么办

首先区分问题是属于Libgdx-RoboVM-backend还是RoboVM的。

如果属于RoboVM的去RoboVM的社区,如果是Libgdx的先尝试nightly版本,如果问题依旧请前往英文社区提交。

大部分问题都是繁琐且细致的,在QQ群询问很难得到准确的帮助。

参考

使用RoboVM发布Libgdx游戏

RoboVM官网

GDX Super Jumper

发表评论

电子邮件地址不会被公开。