(原版的: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. android中获取 bitmap 像素的颜色 之吸管取色功能

    本功能是参考android API colorPickerView修改,实现类似与PS中吸管取色功能.也就是可以对图片的任意位置取该位置的RGB.本demo中,完成了色盘取色功能.当点击色盘的某个位置 ...

  2. apache一键安装脚本

    近期在玩apache,首先安装apace要配置apr.apr-util,pcre,而配置这些基本都是千篇一律.所谓程序猿的精神就是降低反复性的劳动,以下请看我写的apache安装脚本: 这个脚本我也放 ...

  3. textarea内容有换行时存入数据库丢失问题的解决 (转载)

    http://blog.csdn.net/zhang_j_h/article/details/44563167 存入: function GetInputData(id, cmd) { var pos ...

  4. poll调用深入解析

    poll调用深入解析http://blog.csdn.net/zmxiangde_88/article/details/8099049 poll调用和select调用实现的功能一样,都是网络IO利用的 ...

  5. Java中Timer和TimerTask的使用

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

  6. hdu - 3572 - Task

    题意:有N个作业,M台机器,每个作业1天只能同1台机器运行,每台机器1天只能运行1个作业,第i个作业需要pi天完成,且只能从Si到Ei中选Pi天,问能否完成所有作业(T <= 20, N< ...

  7. if(男深圳集体户口&&女非深圳户口)深圳准生证办理材料及流程

    所需材料 一.女方需要办理流动人口婚育证明(蓝色的小本本). 办理材料.各地可能不同.这个是在女方的户籍所在地办理(最好在女方户籍所在地办理女方初婚未育证明). 二.男方在公司开出初婚未育证明. 三. ...

  8. java基本数据类型转换成byte[]数组

    import java.io.UnsupportedEncodingException;  public class ConToByte {      /**     * double转换byte   ...

  9. Oracle Data Guard 创建物理Standby数据库

    创建物理备库 机器名                    a1                    a2                    IP:                    192 ...

  10. Python中的列表解析和生成表达式

    摘要:优雅.清晰和务实都是python的核心价值观,如果想通过操作和处理一个序列(或其他的可迭代对象)来创建一个新的列表时可以使用列表解析( List comprehensions)和生成表达式,通过 ...