1. 在核心项目中包含6大与操作系统交互的接口,每个后端都实现了这6大接口。

  • Application:运行应用程序并通知API的客户端应用程序级别的事件,提供日志记录设施和查询方法,例如,内存使用。
  • Files:公开平台的底层文件系统
  • Input:接收用户的输入——鼠标、键盘、触摸或其他输入设备,支持轮询和事件处理驱动。
  • Net:提供了通过HTTP / HTTPS以跨平台的方式获取资源的手段,以及创建TCP服务器和客户端套接字。
  • Audio:提供播放的声音效果和音乐流媒体以及直接访问的PCM音频输入/输出的音频设备。
  • Graphics:暴露了OpenGL ES 2(如果有的话)和允许设置或查询视频模式和类似的东西。
  1. 程序入口
  • Desk-Top程序入口
 public class DesktopStarter {
    public static void main(String[] argv) {
       LwjglApplicationConfiguration config =new LwjglApplicationConfiguration();
       new LwjglApplication(new MyGame(), config);
    }
 }
  • Android程序入口
 public class AndroidStarter extends AndroidApplication {
    public void onCreate(Bundle bundle) {
       super.onCreate(bundle);
       AndroidApplicationConfiguration config =new AndroidApplicationConfiguration();
       initialize(new MyGame(), config);
    }
 }
3.一个libGDX应用程序有一个良好定义的生命周期,管理一个应用,像创建、暂停和恢复,渲染和销毁(https://github.com/libgdx/libgdx/wiki/The-life-cycle
    1. ApplicationListener-应用程序开发者钩到这些生命周期事件,通过实施applicationlistener接口和传递,实现的一个实例的一个特定的后端的应用实施(见应用框架)。
 public class MyGame implements ApplicationListener {
    public void create () {
    }

    public void render () {
    }

    public void resize (int width, int height) {
    }

    public void pause () {
    }

    public void resume () {
    }

    public void dispose () {
    }
 }
生命周期图

 
 
 
 
 

原文由博主 乐智 编辑撰写,版权归博主所有。

原文地址 http://www.dtblog.cn/1119.html 转载请注明出处!

 
 
 

【开源java游戏框架libgdx专题】-04-接口介绍及生命周期的更多相关文章

  1. 【开源java游戏框架libgdx专题】-01-libgdx介绍

    libgdx是一款开源的java游戏框架,而且还实现了Desktop/Android/BlackBerry/iOS/HTML5这些些平台的跨平台开发.官方网址:https://libgdx.badlo ...

  2. 【开源java游戏框架libgdx专题】-05-模块描述与上下文

    模块描述(Modules overview) Input:为所有的平台提供一个统一的输入模型和处理程序. 获取触摸示例: if (Gdx.input.isTouched()) { System.out ...

  3. 【开源java游戏框架libgdx专题】-08-中文显示与绘制

    libgdx虽然是由美国人Mario Zechner(即BadlogicGames)写的开源引擎,由于Libgdx底层是用OpenGL实现的,所以Libgdx是可以支持中文的,在libgdx中的汉字都 ...

  4. 【开源java游戏框架libgdx专题】-11-核心库-演员类

    演员类,又称为Actor类,是libgdx开发中最基本的元素,可以被继承. 演员类,从OpenGL类的角度来理解,可以称为一个二维场景节点.它本身具有位置(postion).边界矩形(类似Retang ...

  5. 【开源java游戏框架libgdx专题】-10-核心库-Viewport

    Viewport类,又称为视口类,主要负责管理游戏相机,处理游戏世界坐标与布景层坐标的换算关系.在移动端开发,不像PC端容易.因为要适配不同分辨率的设备.libgdx处理不同的设备屏幕时,用视口处理舞 ...

  6. 【开源java游戏框架libgdx专题】-07-文件处理

    介绍:文件处理在不同平台的文件管理是略有差异的 Desktop(Windows,Linux,Mac OS X等等):在桌面系统中,文件系统是一个大块的内存.文件可以通过当前的工作目录或者绝对路径被引用 ...

  7. 【开源java游戏框架libgdx专题】-14-系统控件-Skin类

    Skin类主要用于存储用户界面的资源,该资源主要用于窗口部件.这些资源也包括纹理图片.位图画笔.颜色等内容.方便创建游戏组件,同时使用Skin也可以批量的粗略处理一些窗口部件. test.json { ...

  8. 【开源java游戏框架libgdx专题】-13-开发工具-地图的使用

    支持libGDX的地图编辑器有很多种,其中比较常用的工具为Tiled地图工具.Tiled是一款非常好用的地图编辑器.下载地址:http://www.mapeditor.org TiledMap类: 又 ...

  9. 【开源java游戏框架libgdx专题】-09-动画的使用

    1.Animation类介绍   Api定义:动画是由多个帧,在设定的时间间隔序列显示.比如,一个跑步的人一个动画可以通过运行时播放这些图像无限拍照他了. 功能用法:管理动画,设置随即播放模式和播放顺 ...

随机推荐

  1. fragment 学习

    fragment需要id是必须属性 <fragment        android:id="@+id/frg1"        android:name="com ...

  2. go程序性能优化

    性能优化总结: 1 尽量避免频繁创建对象,即减少&{},new,make的使用2 数组可当切片用,当需要使用切片时,可考虑能使用数组来减少切片的创建3 当某类临时对象被多个协频繁程使用时,可用 ...

  3. C# 日期格式精确到毫秒 【转】

    有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2009-6-24 14:33:34 如果要换成成200906,06-2009,2009-6-24或更多的该怎么办呢 我们要用到:DateT ...

  4. 关于 Boolean 的转换

    前端经常喜欢这样写 if else if(value) { //do something } javascript 能智能的把任何类型的 value 转换成 boolean 来进行 if 判断 转换是 ...

  5. Grails架设和配置--起步

    现在作这些配置有些轻车熟路了.. 因为RAILS ON RUBY和它真的有很多相像的,, 什么DRY,什么约定先于配置这些的概念... 然后,GITHUB上有好文档,可以一步一步的实践.. https ...

  6. 【HDOJ】1525 Euclid's Game

    自己想明白的第一道博弈.首先a==b的时候肯定是先手赢: 然后当a>=2*b时,不妨假设a=nb+k, k<b,因此,不论后续怎么博弈,一定可以出现a=k, b=b的情况.因此,无论这个局 ...

  7. Merge into(oracle)

    作用:使用一条sql语句进行insert或者update操作,如果存在就update,如果不存在就insert 语法: MERGE INTO table_name t1 USING (table|vi ...

  8. selenuim ide回放时出现的问题

    [error] Unexpected Exception: fileName -> chrome://selenium-ide/content/selenium-core/scripts/htm ...

  9. DTD与XSD的区别

    DTD=类型定义(Documnet Type Definition) XSD=XML结构定义 ( XML Schemas Definition ) DTD 就相当于 XML 中的“词汇”和“语法”,不 ...

  10. JS中timestamp日期类型的转换

    在JS中获取timestamp:var timestamp=Math.round(new Date().getTime()/1000); 在JS中将timestamp转换为Date: Date.pro ...