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数据模型,这 ...
随机推荐
- (1)ActivityThread分析
1. 入口. 曾经一直都说Activity的人口是onCreate方法.事实上android上一个应用的入口,应该是ActivityThread.和普通的java类一样,入口是一个main方法. pu ...
- c语言,数据类型转换
在执行算术运算时,计算机比C语言的限制更多.为了让计算机执行算术运算,通常要求操作数有相同的大小(即位的数量相同),并且要求存储的方式也相同.计算机可能可以直接将两个16位整数相加,但是不能直接将16 ...
- 搭建Windows SVN服务器及TortoiseSVN使用帮助和下载
搭建Windows SVN服务器: 用的SVN服务器通常为外部,例如Google Code的服务器,不过,做为一个程序开发人员,就算自己一个人写程序,也应该有一个SVN版本控制系统,以便对开发代码进行 ...
- innerHeight与clientHeight、innerWidth与clientWidth、scrollLeft与pageXOffset等属性
区分innerHeight与clientHeight.innerWidth与clientWidth.scrollLeft与pageXOffset等属性 标签: innerheight clienthe ...
- IntelliJ Idea 经常使用快捷键列表
Alt+回车 导入包,自己主动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码 Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如 ...
- 【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列5
Oracle(用户)进程 以下这些操作都是需要消耗大量CPU资源的:解析大型查询,存储过程编译或执行,空间管理和排序. 下面这几篇文章可以帮助采集关于使用高CPU资源的进程的更多信息: Note:35 ...
- C# 未能加载文件或程序集“MySQLDriverCS..." 错误解决
在解决方案的属性里,生成,里面有个目标平台,网上说的 大概也就是64位和32位的不兼容问题..试着把目标平台改为X86后竟然神奇的正常了!
- TODO管理工具TaskWarrior (跨平台C++代码)
Taskwarrior 是一个基于命令行的 TODO 列表管理工具.主要功能包括:标签.彩色表格输出.报表和图形.大量的命令.底层API.多用户文件锁等功能. http://www.oschina.n ...
- codility上的问题(15) Xi 2012
进入2012年的题 codility上的题目开始变难,变得有意思起来.给定两个长度在[1..300000]的只包含0和1的串S和T,它们是2进制表示的,S表示的数A不大于T表示的数B,即A<=B ...
- Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO
距离上次发布(android高仿系列)今日头条 --新闻阅读器 (二) 相关的内容已经半个月了,最近利用空闲时间,把今日头条客户端完善了下.完善的功能一个一个全部实现后,就放整个源码.开发的进度就是按 ...