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

模块:
输入模块使得在每个平台上的输入状态的轮询成为了可能。 它同意轮询每个按键。触摸屏。 和加速计的状态。 在桌面程序中,触摸屏被鼠标代替,而加速计则不可用。 它也提供了注冊输入处理器的方式来使用一个基于输入模块的事件。 以下的代码片段得到了在触摸事件发生时触摸的坐标:
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 模块概览的更多相关文章
- Libgdx 开发指南(1.2) 应用框架——模块概览
模块概览 引言 LibGDX由一些为一个典型游戏架构中的各个步骤提供服务的模块组成. Input:为所有平台提供一致的输入模型与处理器.支持键盘.触屏.加速度传感器与鼠标. Graphics:使用硬件 ...
- 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) ...
- Dojo API中文 Dojo内容模块概览,初学者
官网:http://dojotoolkit.org/reference-guide/1.10/dojo/index.html#dojo-dojo的翻译 dojo 内容: dojo dojo/dojo ...
- Libgdx 开发指南——目录
本系列文档选译自libgdx github项目 wiki : https://github.com/libgdx/libgdx/wiki 由于关于Libgdx的中文文档非常稀缺,因此在这里对官方Wik ...
- 什么是英特尔® Edison 模块?
英特尔® Edison 模块 是一种 SD 卡大小的微型计算芯片,专为构建物联网 (IoT) 和可穿戴计算产品而设计. Edison 模块内含一个高速的双核处理单元.集成 Wi-Fi*.蓝牙* 低能耗 ...
- nodejs net模块
net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socke ...
- Nodejs进阶:核心模块https 之 如何优雅的访问12306
本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 模块概览 这个模块的重要性,基本不用强调了.在网络安全问题日益严 ...
- Nodejs进阶:核心模块net入门与实例讲解
模块概览 net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net. ...
- Node进阶:核心模块http简介
本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. http模块概览 大多数nodejs开发者都是冲着开发web s ...
随机推荐
- 一些echarts的基本图形
先拿一个图形渲染过程举例 引用处 <bar ref="ARPUChart" v-if="ARPUChart" style="width:500p ...
- UVALive 6609 Minimal Subarray Length(RMQ-ST+二分)
题意:给定长度为N的数组,求一段连续的元素之和大于等于K,并且让这段元素的长度最小,输出最小长度即可,若不存在这样的元素集合,则输出-1 题目链接:UVAlive 6609 做法:做一个前缀和pref ...
- [ZJOI2014][bzoj3527]力 [FFT]
题面 传送门 思路 把要求的公式列出来: $E_i=\frac{F_i}{q_i}=\sum_{j=1}^i\frac{q_j}{\left(i-j\right)^2}-\sum_{j=i+1}^n\ ...
- HTML+CSS之iframe
碎碎:这两天在实践中,用到了 iframe,之前对其不甚了解,了解之中遇到好多奇葩问题,今天记录下这两天遇到的相关的内容. 嵌入的 iframe 页面的边框 嵌入的 iframe 页面的背景 嵌入的 ...
- 检测字符串当中x与o的数目是否相等
题目如上 答案 function XO(str) { var arr = str.split(""), xCount = , oCount = ; var reX = /x/i, ...
- Android蓝牙介绍
1. 介绍 自从Android 4.2开始,Android开始使用自己的蓝牙协议栈BlueDroid,而不是bluez BlueDroid可分为两层: - BTE: Bluetooth Embedde ...
- CentOS下Yum使用
1. 介绍 Yum,即Yellow dog Updater Modified,是一个基于 RPM 包管理的字符前端软件包管理器:能够从指定的服务器自动下载 RPM 包并且安装,可以处理依赖性关系,并且 ...
- [翻译][Nokogiri官方教程] 解析HTML/XML文档 / Parsing an HTML/XML Document
From a String From a File From the Internet Parse Options Encoding 原文: Parsing an HTML/XML Document ...
- C#原生加密方法: System.Security.Cryptography.CryptoStream DataSet加密解密
采用16位密钥形式加密,把数据 dataset或文本转换为二进制流,然后进行加密解密.代码如下: using System; using System.Collections.Generic; usi ...
- golang xorm reverse 自动生成数据库实体文件
一.先安装好需要的东西 xorm 也可以参考官方文档 readme.md https://github.com/go-xorm/cmd 和 http://xorm.io/docs/ go get gi ...