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)
介绍
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每个模块概述的更多相关文章
- XAF-通知模块概述 web+win
通知模块概述 1.支持 WinForms和ASP.NET程序. 2.支持调度模块或自定义业务对象. 3.功能:在指定的时间,弹出一个窗口,用户可以查看提醒.也可以取消或推迟. 如需演示项目的源码,可以 ...
- spark概念、编程模型和模块概述
http://blog.csdn.net/pipisorry/article/details/50931274 spark基本概念 Spark一种与 Hadoop 相似的通用的集群计算框架,通过将大量 ...
- 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) ...
- ASP.NET Core模块概述
原文地址:ASP.NET Core Module overview By Tom Dykstra, Rick Strahl, and Chris Ross ASP.NET Core模块(ANCM)让你 ...
- [02] Spring主要功能模块概述
1.Spring主要功能模块 1.1 Core Container Spring的核心容器模块,其中包括: Beans Core Context SpEL Beans和Core模块,是框架的基础部 ...
- ASP.NET Core Module overview模块概述
原文地址:ASP.NET Core Module overview By Tom Dykstra, Rick Strahl, and Chris Ross ASP.NET Core模块(ANCM)让你 ...
- openstack七大模块概述
前言 OpenStack主要由七部分组成,分别是Identify, Image, Network, Compute, Block Storage, Object Storage, Dashboard, ...
- pygame各个模块概述
在pygame中,有很多模块,每个模块对应着不同的功能,如果我们知道这些模块是做什么的,那么,对我们的游戏开发会起到关键性的作用. 我们就说说pygame中的各个模块吧!!! #pygame modu ...
- XAF-BI.Dashboard模块概述 web/win
Dashboard模块介绍了在ASP.NET XAF 和 WinForms 应用程序中简单的集成 DevExpress Dashboard控件的方法. 其实不仅仅是控件,利用了现有的XAF数据模型,这 ...
随机推荐
- 总线接口与计算机通信(三)UART起止式异步通用串行数据总线
串口简介 1. 什么是串口? 串口是计算机上一种非常通用的设备通信的协议.串口通信的概念非常简单,串口按位(bit) 发送和接收字节.尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送 ...
- 基于visual Studio2013解决面试题之1004最长等差数列
题目
- hdu5336 Walk Out
hdu5336 Walk Out 题意是:入口:地图的左上角,出口,地图的右上角,求所经过的路径的二进制数最小 照着题解敲了一遍 思路是:首先 二进制 的 位数 越小 越好,其次 二进制的前缀零越多 ...
- 华为手机logcat不出日志解决方案
解决方法:在拨打电话界面,录入*#*#2846579#*#* 自动进入开发界面菜单,进入第一个,选择开启logcat.
- MFC类中获得其它类指针
当用VC++的Application Wizard生成除了CDialog Basiced以外的应用程序时,将自动产生视图类.文档类.主帧窗口类.应用程序类等等.一般来说,程序的核心数据及操作在文档类中 ...
- Windows Azure入门教学系列 (一): 创建第一个WebRole程序
原文 Windows Azure入门教学系列 (一): 创建第一个WebRole程序 在第一篇教学中,我们将学习如何在Visual Studio 2008 SP1中创建一个WebRole程序(C#语言 ...
- MFC拆分窗口及它们之间的数据交换
源代码:http://download.csdn.net/detail/nuptboyzhb/4221531 CSplitterWnd类 CSplitterWnd类提供一个分隔器窗口的功能,分隔器窗口 ...
- 九度OnlineJudge之1018:统计同成绩学生人数
题目描述: 读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入: 测试输入包含若干测试用例,每个测试用例的格式为 第1行:N 第2行:N名学生的 ...
- DButils工具类能够用来获取数据库连接向数据库插入更新删除对象2
package com.ctl.util; import java.awt.Color; import java.awt.Font; import java.awt.Insets; import ja ...
- OCP-1Z0-051-题目解析-第31题
31. Evaluate the following SQL commands: SQL>CREATE SEQUENCE ord_seq INCREMENT BY 10 START WITH 1 ...