libgdx 环境搭建
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到手机上进行看效果了。