1:环境搭建:
(1)首先进入官网,http://libgdx.badlogicgames.com/download.html 点击下方的Releases,进行下载最新的版本即可。这个为我们开发使用的jar和so库,我们如果纯粹开发,不想去看源码,则下载这一个就可以了。
(2)源码下载:
点击上方主页的Source,进入github libgdx的主页,https://github.com/libgdx/libgdx 找到右边的Download ZIP进行下载下来。
源码阅读,使用Source Insight 即可。
下来我们解压(1)下载下来的压缩文件。
目录为:
目录介绍:
armeabi armeabi-v7a 为手机开发的so库
Docs为说明文档
Extensions 扩展的三方库
Sources jar源码
x86 windows开发库
Ios 苹果开发库
后面的jar包为我们需要引入的jar库文件
其中gdx-setup.jar 为我们开发的图形化操作界面。
(3)下载java环境搭建。
去主页找到最新的JDK进行下载http://www.oracle.com/technetwork/java/javase/downloads/index.html,下载下来进行安装即可
(4)去android主页下载最新的SDK包,去下载eclipse-java-helios-SR2-win32 环境。Eclipse为我们后面一直开发android的开发环境。
进行如上的操作后,此时我们的准备环境则完成了。下来我们开始进行demo操作,熟悉下这个引擎。
双击gdx-setup.jar文件,出现如下界面:
这里我们进行选择,设置我们的包名,类名,生成路径,其中Android SDK 设置为我们的android SDK主目录。然后我们呢可以选择平台,默认是全部勾选,如果只想做android,则去掉除android之外的对勾。
点击生成,此时第一次生成时间会比较长,因为系统去下需要的jar库去了,我这边第一次使用了26分钟左右,最终生成成功。
这边生成的是只有android版本的,具体目录为:
Androi目录为:
现在我们真正开发会在core目录里面,android目录只是为了搭建android平台框架而存在。
我们要在eclipse中将android目录导入,这边发现一个问题是生成出来的没有lib,因此我们需要将gdx-jar 和gdx-backend-android.jar放进libs目录,然后我们需要将core编译配置到android环境里面,我这边的操作是将core\src下的文件复制到android\src里面进行开发的。
2 demo查看:
src\com\mygdx\game\android 里面的AndroidLauncher.java 为主界面,我们打开来看下:
public class AndroidLauncher extends AndroidApplication { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); AndroidApplicationConfiguration config = new AndroidApplicationConfiguration(); initialize(new MyGdxGame(), config); } }
关键函数:
initialize(new MyGdxGame(), config);
如此以来,我们就将我们的游戏主类挂载上来。
我们打开主类
public class MyGdxGame extends ApplicationAdapter { SpriteBatch batch; Texture img; @Override public void create () { batch = new SpriteBatch(); img = new Texture("badlogic.jpg"); } @Override public void render () { Gdx.gl.glClearColor(0, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); batch.begin(); batch.draw(img, 0, 0); batch.end(); } }
关键函数:
Render() 这个函数会一直进行调用,所有我们的游戏推进,都是在这里完成的。
下来我说下整个流程:
系统在android架构的主activity里面,使用initialize 将一个继承ApplicationAdapter 的对象挂接上来,如此以后,系统在initialize 里面将android上面的GLview,输入,按键,文件,网络等初始化完成,然后在GLview的onDrawFrame 里面一直调用注册进来的监听的render函数。onDrawFrame 机制是android提供出来,一直进行调用,来进行渲染,驱动游戏进程。
如此下来,我们开发游戏时,记住我们一直在一个大的循环里,一直有一个render进行调用,这样子的话,那么我们就可以只关注render即可,我们实际开发,则是围绕这个render开展,具体的可以等下一节来讲解。
这节我们再来说下引擎框架:
官网位置:https://github.com/libgdx/libgdx/wiki/Modules-overview
我们来说下游戏的开发思路:
在一个大的循环里面,使用时间推动游戏进程,使用触摸,按键,或者时间让场景推进,处理流程,渲染,跳转,更新数据。
Libgdx里面提供的架构为:
Game类 stage类 和actor类。
Game来进行切换场景,stage类用于呈现,以及处理消息,actor为stage上的演员,负责表现,变化自己的行为,显示,从而进行整个游戏的推行。
如此操作后,可以生成apk到手机上进行看效果了。