(原版的:http://www.libgdx.cn/topic/34/4-2-libgdx%E5%90%84%E4%B8%AA%E6%A8%A1%E5%9D%97%E6%A6%82%E8%A7%88

介绍

libgdx集成了几个模块为构建典型的游戏架构每一步提供服务。

  • Input:提供了针对全部平台统一的模型和handler。支持键盘。触摸屏。传感器和鼠标。

  • Graphics:通过硬件提供的OpenGL ES接口实现对图像在屏幕的绘制。

  • Files:提供了简单的方法进行读写操作。

    支持全部平台。

  • Audio:声音的录制和回放。

    支持全部平台。

  • Networking:提供了进行网络操作的方法。

    比方,简单的HTTP get 和post 请求和TCP server/client socket 通信。

通常一个简单的游戏架构能够通过例如以下实例调用libgdx的模块:

接下来介绍各个模块最经常使用的功能。

模块

Input

Input模块检測每一个平台上的不同的输入状态。它同意检測键盘,触摸屏和传感器的状态。在桌面环境下(windows或Linux等),触摸屏被鼠标替代,当然传感器也不能使用。

它相同提供了基于Input模型的注冊进行输入处理的方法,以此能够进行事件驱动。

接下来的代码用户检測用户是否发生触摸事件(桌面平台是鼠标点击),假设是则获取当前坐标:

if (Gdx.input.isTouched()) {

System.out.println("Input occurred at x=" + Gdx.input.getX() + ", y=" + Gdx.input.getY());

}

Graphics

Graphics模块对于GPU的通信进行抽象。提供了简单的方法来获取OpenGL ES封装的实例。

这些功能能够在有些平台不能使用。

Graphics模块相同提供了生成Pixmaps 和 Textures 的方法。

比方。通过例如以下方法获取OpenGL API 2.0实例:

GL20 gl = Gdx.graphics.getGL20 ()http://Gdx.graphics.getGL20GL20 ();

这种方法返回一个实例,该实例能够绘制到屏幕上。

假设设备不支持OpenGL ES 2.0。将返回null。

接下来的代码将进行清屏操作,并将屏幕绘制成红色:

gl.glClearColor(0.1f, 0.0f, 0.0f, 1);

gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

全部的这些操作通过接口实现,无须关心某个平台是不是支持这个功能。

支持的OpenGL API版本号:

其实,libgdx已经放弃了对OpenGL API 1.0的支持,这在官方英文wiki中没有说明。

如今仅仅支持OpenGL API 2.0和OpenGL API 3.0。

Files

Files模块通过统一的API对文件进行訪问,与平台无关。这使得读写文件更加简单。由于平台的安全原因,文件写操作会面临一定的限制。

Files模块最经常使用的功能就是加载游戏资源(图片和声音),写入游戏得分和游戏状态。

接下来展示怎样通项目/assets/textures文件夹获取一个Texture:

Texture myTexture = new Texture(Gdx.files.internal(“assets/texture/brick.png”));

Audio

Audio用于创建和回放声音。特别是简单的声音。同一时候能够通过API直接訪问声音硬件设备。

包括两种声音文件。音乐和音效。支持WAV,MP3 和 OGG 三种格式。

音效能够被加载内存,在不论什么时候都能够回放。

通常播放时长较短,被多次使用。

比方爆炸声和枪声。

音乐是指放置在SD卡或其他存储设备上的文件。

播放时长较长。演示样例代码例如以下:

Music music = Gdx.audio.newMusic(Gdx.files.getFileHandle("data/myMusicFile.mp3", fileType.Internal));

music.setVolume(0.5f);

music.play();

music.setLooping(true);

www.libgdx.cn版权所有所有,如需转载,注明出处)

版权声明:本文博客原创文章,博客,未经同意,不得转载。

4.2、Libgdx每个模块概述的更多相关文章

  1. XAF-通知模块概述 web+win

    通知模块概述 1.支持 WinForms和ASP.NET程序. 2.支持调度模块或自定义业务对象. 3.功能:在指定的时间,弹出一个窗口,用户可以查看提醒.也可以取消或推迟. 如需演示项目的源码,可以 ...

  2. spark概念、编程模型和模块概述

    http://blog.csdn.net/pipisorry/article/details/50931274 spark基本概念 Spark一种与 Hadoop 相似的通用的集群计算框架,通过将大量 ...

  3. 4.2、Libgdx各个模块概览

    (原文:http://www.libgdx.cn/topic/34/4-2-libgdx%E5%90%84%E4%B8%AA%E6%A8%A1%E5%9D%97%E6%A6%82%E8%A7%88) ...

  4. ASP.NET Core模块概述

    原文地址:ASP.NET Core Module overview By Tom Dykstra, Rick Strahl, and Chris Ross ASP.NET Core模块(ANCM)让你 ...

  5. [02] Spring主要功能模块概述

    1.Spring主要功能模块   1.1 Core Container Spring的核心容器模块,其中包括: Beans Core Context SpEL Beans和Core模块,是框架的基础部 ...

  6. ASP.NET Core Module overview模块概述

    原文地址:ASP.NET Core Module overview By Tom Dykstra, Rick Strahl, and Chris Ross ASP.NET Core模块(ANCM)让你 ...

  7. openstack七大模块概述

    前言 OpenStack主要由七部分组成,分别是Identify, Image, Network, Compute, Block Storage, Object Storage, Dashboard, ...

  8. pygame各个模块概述

    在pygame中,有很多模块,每个模块对应着不同的功能,如果我们知道这些模块是做什么的,那么,对我们的游戏开发会起到关键性的作用. 我们就说说pygame中的各个模块吧!!! #pygame modu ...

  9. XAF-BI.Dashboard模块概述 web/win

    Dashboard模块介绍了在ASP.NET XAF 和 WinForms 应用程序中简单的集成 DevExpress Dashboard控件的方法. 其实不仅仅是控件,利用了现有的XAF数据模型,这 ...

随机推荐

  1. BZOJ 3585: mex( 离线 + 线段树 )

    离线, 询问排序. 先处理出1~i的答案, 这样可以回答左端点为1的询问.完成后就用seq(1)将1到它下一次出现的位置前更新. 不断这样转移就OK了 ------------------------ ...

  2. Java中Timer和TimerTask的使用

    转自:http://www.cdtarena.com/javapx/201306/8893.html java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks. 一个 ...

  3. windows的消息传递--消息盒子(超详细EM_UNDO等消息)

    使用delphi的消息机制可以方便操作后台,其中重要的就是sendmessage()函数.下面讲解一下这个函数 function SendMessage(hWnd: HWND; Msg: UINT;  ...

  4. WCF技术剖析之十三:序列化过程中的已知类型(Known Type)

    原文:WCF技术剖析之十三:序列化过程中的已知类型(Known Type) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话) ...

  5. perl 继承 @ISA

    12.5 类继承 对Perl的对象剩下的内容而言,从一个类继承另外一个类并不需要给这门语法增加特殊的语法,当你调用一个方法的时候, 如果Perl在调用者的包里找不到这个字过程,那么他就检查@ISA数组 ...

  6. hdu2492 Ping pong

    hdu2492 Ping pong 题意:一群乒乓爱好者居住在一条直线上,如果两个人想打比赛需要一个裁判,裁判的 位置 必须在两者之间 ,裁判的能力也必须不大于 参赛者最大的,不小于参赛者最小的 白皮 ...

  7. Oracle、DB2、MySql、SQLServer JDBC驱动

    四种数据库JDBC驱动,还列出了连接的Class驱动名和Url Pattern,DB2包括Type 2.Type 3和Type 4三种模式.注意驱动包名称的大小写. Oralce连接驱动包名和URL ...

  8. ASP.NET - 对URL传递的值进行编码Server.UrlEncode()

    /// <summary> /// 搜索内容 /// </summary> /// <param name="sender"></para ...

  9. PHP学习之-Mongodb在Windows下安装及配置

    Mongodb在Windows下安装及配置 1.下载 下载地址:http://www.mongodb.org/ 建议下载zip版本. 2.安装 下载windows版本安装就和普通的软件一样,直接下一步 ...

  10. mysql存储过程及经常使用函数

    一.函数 1.数学函数 CEIL()进一取整 SELECT CEIL(1.2);2 FLOOR()舍一取整 SELECT FLOOR(1.9);9 MOD取余数(取模) SELECT MOD(3,8) ...