本文章翻译自libGDX官方wiki,。转载请注明出处:http://blog.csdn.net/kent_todo/article/details/37940595

介绍:

libGDX包含了非常多的模块,这些模块为一个正常运转的游戏构建的每一步提供了非常好的服务。
  1. Input:提供了一个没有定义的输入模块,和对全部平台的解决方式。支持键盘、触摸屏、加速计、和鼠标。
  1. Graphics*:用硬件提供的OpenGL ES实现了在屏幕上绘制图片。
  1. Files:通过提供读写操作的方便的方法实现了抽象的文件操作,无论媒体文件。
  1. Audio:在全部平台上的声音录制和播放。
  1. NetWorking:提供了网络操作的方法,比方简单的HTTP get 和post请求。和TCP server/client 的socket通信。
以下的图标展示了在一个完整的游戏体系中的这些模块:


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2VudF90b2Rv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


模块:

Input(输入)
输入模块使得在每个平台上的输入状态的轮询成为了可能。

它同意轮询每个按键。触摸屏。

和加速计的状态。

在桌面程序中,触摸屏被鼠标代替,而加速计则不可用。

它也提供了注冊输入处理器的方式来使用一个基于输入模块的事件。

以下的代码片段得到了在触摸事件发生时触摸的坐标:
System.out.println("Input occurred at x=" + Gdx.input.getX() + ", y=" + Gdx.input.getY());
}
if (Gdx.input.isTouched()) {
以此类推。全部支持的输入方式都可以被支持并处理。

Graphics(图像)

图像模块抽象了跟GPU之间的通信而且提供了获得OpenGL ES 封装器的实例的方便的方法。

依据不同的硬件平台。封装器也有可能不可用。
图形模块也提供了生成Pixmaps和Texture的方法。
比如,以下的代码片段获得了一个OpenGL API1.0的实例:
GL10 gl = Gdx.graphics.getGL10();
这种方法会返回一个可以在屏幕上进行绘制的实例。在硬件配置不支持的情况下,则返回空。
以下的代码片段清空了屏幕而且将屏幕绘制成了红色:
gl.glClearColor(0.1f,0.0f,0.0f,1);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
它总是返回指定API的指定实现。所以主应用不用去关注细节(即不用关注使用的平台),它会自己主动的在全部支持的平台上工作。

files(文件)

文件模块提供了无关平台的操作文件的一般方式。它是的读写文件变得简单。

文件的写入会有一些局限性。这归因于相关平台的安全局限性。
文件模块最普遍的使用情况是载入游戏资源(纹理,声音文件)从全部平台的应用的子文件夹里面。它对向文件里写入最高分或者游戏状态也很实用。
以下的代码片段从$APP_DIR/assets/textures文件夹下创建了一个纹理:
Texture myTexture = new Texture(Gdx.files.internal("assets/texture/brick.png"));

Audio(音频)

声音模块使得音频文件的创建和播放变得很的简单。它也能够直接的訪问音频硬件。
它处理两种音频文件。Music和Sound。两种类型都支持wav,mp3,和ogg格式。
Sound实例可以被载入到内从其中而且可以被随时播放。

这是为了游戏中的音效可以被播放多次。比方爆炸声和枪击声。
Music实例则是从在硬盘或者sd卡上的文件的流。每次一个文件播放的时候,它都被处理成数据流交给音频设备。
以下的代码片段播放了一个sound文件,myMusicFile.mp3,反复播放,音量为二分之中的一个。
Music music = Gdx.audio.newMusic(Gdx.files.getFileHandle("data/myMusicFile.mp3", FileType.Internal));
music.setVolume(0.5f);
music.play();
music.setLooping(true);





libGDX 模块概览的更多相关文章

  1. Libgdx 开发指南(1.2) 应用框架——模块概览

    模块概览 引言 LibGDX由一些为一个典型游戏架构中的各个步骤提供服务的模块组成. Input:为所有平台提供一致的输入模型与处理器.支持键盘.触屏.加速度传感器与鼠标. Graphics:使用硬件 ...

  2. 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) ...

  3. Dojo API中文 Dojo内容模块概览,初学者

    官网:http://dojotoolkit.org/reference-guide/1.10/dojo/index.html#dojo-dojo的翻译 dojo 内容: dojo dojo/dojo ...

  4. Libgdx 开发指南——目录

    本系列文档选译自libgdx github项目 wiki : https://github.com/libgdx/libgdx/wiki 由于关于Libgdx的中文文档非常稀缺,因此在这里对官方Wik ...

  5. 什么是英特尔® Edison 模块?

    英特尔® Edison 模块 是一种 SD 卡大小的微型计算芯片,专为构建物联网 (IoT) 和可穿戴计算产品而设计. Edison 模块内含一个高速的双核处理单元.集成 Wi-Fi*.蓝牙* 低能耗 ...

  6. nodejs net模块

    net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socke ...

  7. Nodejs进阶:核心模块https 之 如何优雅的访问12306

    本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 模块概览 这个模块的重要性,基本不用强调了.在网络安全问题日益严 ...

  8. Nodejs进阶:核心模块net入门与实例讲解

    模块概览 net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net. ...

  9. Node进阶:核心模块http简介

    本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. http模块概览 大多数nodejs开发者都是冲着开发web s ...

随机推荐

  1. [SDOI2010][bzoj1927] 星际竞速 [最小路径覆盖+费用流]

    题面 传送门 思路 仔细观察题目要求的东西,发现就是求一个最小路径覆盖,只不过可以跳跃(就是那个鬼畜的超级跳跃) 那么就直接上最小路径覆盖模版 对每个点,拆成两个点$X_i$和$Y_i$,建立超级源超 ...

  2. jmeter作接口测试入门的简单使用说明

    一.添加接口信息 1.添加线程组 (1)路径如下图: (2)部分内容解释 a.  Number of Threads(users):线程数 b.  Ramp-Up Period(in seconds) ...

  3. MacPro 系统空间竟占90G,如何清理--OmniDiskSweeper

    MacPro 经常提示我磁盘空间已满,管理磁盘空间. 然后我就管理了一下,发现系统竟占90个G,有点懵逼.然后网上查了资料,发现这个超级好用的工具OmniDiskSweeper. 打开是这样的! 然后 ...

  4. Secure services with TLS ---Docker配置https

    官方文档:https://docs.docker.com/ee/ucp/interlock/usage/tls/

  5. hdu 2189 dp

    /* 类似完全背包,容量为n的背包用素数填,求满背包的种数 dp(i,j)表示用不超过i的素数组成的j的种数 dp[i][j]=dp[i-1][j],若i为素数则dp[i][j]+=dp[i][j-i ...

  6. Linux脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

  7. duilib入门简明教程 -- 完整的自绘标题栏(8) (转)

    原文转自:http://www.cnblogs.com/Alberl/p/3343763.html     看了前面那么多教程,相信对duilib已有基本映像了,我们就快马加鞭,做出一个完整的自绘标题 ...

  8. 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---2

    以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本 ...

  9. Qt5网络请求使用及WebRequest函数

    Qt5模拟curl进行HTTP的head请求, curl -I <url> : #include <QtCore> #include <QNetworkReply> ...

  10. python c++ Visual Studio相关 Unable to find vcvarsall.bat问题

    使用Cython编译包的时候报错: Unable to find vcvarsall.bat 说明:https://jingyan.baidu.com/article/adc815138162e8f7 ...