libGDX是一个开源的游戏框架,其优点是兼容性很是好,可兼容多种平台系统(Windows、Linux、Max OS X、Java Applet、Javascript/WebGL),包括移动系统Android和iOS,而且使用的是最为普遍的java语言来进行开发,所以前景至关不错。最近有很多开发者问到关于如何配合使用BmobSDK和libGDX来开发ios游戏,这其中大部分都是只接触过Android的开发者(引擎使用java开发的缘由),对于ios不熟悉,所以在使用的过程当中会遇到一些问题。所以,本文将详细地讲解如何搭建开发环境,并介绍如何在libGDX如何使用BmobSDK进行iOS游戏的开发。html
搭建开发主要有如下两大部分java
RoboVM的搭建android
libGDX的环境搭建ios
如下文字摘自百度百科git
RoboVM 编译器能够将 Java 字节码翻译成 ARM 或者 x86 平台上的原生代码,应用可直接在 CPU 上运行,无需其余解释器或者虚拟机。
RoboVM 同时包含一个 Java 到 Objective-C 的桥,可像其余 Java 对象同样来使用 Objective-C 对象。大多数 UIKit 已经支持,并且将会支持更多的框架。
RoboVM相似于Android的jni,使用它就可使用Java来调用Object-C对象,用Java进行iOS开发。github
安装Java JDK,注意须要1.7以上才支持RoboVMweb
下载eclipse数据库
安装RoboVM插件,具体步骤以下:
1)进入 help/install New Software
2)输入http://download.robovm.org/eclipse/下载插件,完成后重启便可
框架
注:在RoboVM官方搭建文档(http://docs.robovm.com/getting-started/eclipse.html)中也有如何安装RoboVM的教程,具体的安装步骤以及安装参数(以下载连接)请以官方教程为准。eclipse
安装完成后,重启eclipse,进入File/New/Project便可看到RoboVM工程的建立图标,若是你真是想用java来开发iOS应用,那么进行到这一步已经大功告成了😎。
进入libGDX官网(http://libgdx.badlogicgames.com/download.html)下载libGDX工程生成工具,该工具是一个jar应用。
进入gdx-setup,设置好相应的参数,并选好须要开发的平台的子项目便可。此处选取了ios、desktop及html三个平台,须要开发android平台的还须要在Android子项目处勾选上。
点击生成,第一次生成须要下载一些文件,时间会比较久,当出现 BUILD SUCCESSFUL
提示时,说明项目已经建立好了,以下图所示。
在上图中咱们能够看到生成工程后,会提示在不一样的IDE要怎么打开,在eclipse中打开是须要以gradle工程来打开,这须要咱们安装Gradle插件,咱们能够进入 help/Eclipse Marketplace
搜索该插件进入安装(别问我为何安装RoboVM时为何不用这个方法,由于搜索不到啊😂),
安装完成后,进 File/Import/Gradle/Gradle Project
,导入刚刚生成的工程,注意提示,导入前须要先点击 Build Model
按键。
导入后的能够看到在 Package Explorer
中生成了如下工程,其中core工程用以编写与平台无关的代码,而以对应平台名结尾的工程则是编写对应平台的逻辑代码,以项目名为名的工程(本文中为test)主要存放一些公共环境的配置代码。
建好工程后能够按下图所示,跑一下工程,查看工种是否搭建成功。模拟器能够选择iPad或者iPhone,第一次运行时因为须要编译一些公共包,时间会比较久。
运行后的效果图
按照教程完成上述的工程建立后就能够进行开发了。下面将讲述如何使用BmobSDK.framework进行开发。
导入BmobSDK.framework,以下图所示,直接将文件拖动至ios子项目的build目录下。
进入robovm.xml添加如下代码,声明相应的依赖库。
编写绑定文件。若是但愿知道如何绑定,能够参考博客libgdx与Robovm绑定的坑。固然,为了尽快体验一下效果,咱们能够直接使用该博客的做者爱学习的坏蛋
写好的一个绑定库https://github.com/tianqiujie/robovm-ios-bindings,这里面有已经绑定好的BmobSDK库,咱们直接将这些文件加入到工程便可。以下图
接下来,咱们还须要到Bmob官网注册一个账号并在后台建立应用,并将App Key复制下来。以下图
至此,准备工做已经所有完成,咱们尝试写一段代码以测试项目是否能够工做。在IOSLauncher.java文件中的protected IOSApplication createApplication() 方法中添加如下代码
@Override
protected IOSApplication createApplication() {
IOSApplicationConfiguration config = new IOSApplicationConfiguration();
//注册应用
Bmob.registerWithAppKey("4bf74404e49b7b5ff7f23c4496ee2b36");
//构造须要添加的记录
final BmobObject gameScore = new BmobObject("GameScore");
gameScore.setObject(new NSString("小明"), "playerName");
gameScore.setObject(NSNumber.valueOf(100), "score");
gameScore.setObject(NSNumber.valueOf(true), "cheatMode");
//保存记录
gameScore.saveInBackgroundWithResultBlock(new BmobBooleanResultBlock() {
@Override
public void invoke(boolean isSuccessful, NSError error) {
// TODO Auto-generated method stub
if(isSuccessful){
System.out.println("success");
//获取建立成功后的BmobObject的 objectId
System.out.println(gameScore.getObjectId());
}else{
System.out.println(error.getCode()+error.getDomain());
}
}
});
return new IOSApplication(new MyGdxGame(), config);
}
运行工程,能够看到如下log。
进入Bmob后台,能够看到已经生成了一条数据库记录。
本教程主要讲解如何搭建libGDX开发环境,并结合BmobSDK来进行开发。若是在对文章有任何疑问或者发现错误之处,欢迎提出😄😄