博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
libGDX 模块概览
阅读量:6002 次
发布时间:2019-06-20

本文共 1765 字,大约阅读时间需要 5 分钟。

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

介绍:

libGDX包含了非常多的模块,这些模块为一个正常运转的游戏构建的每一步提供了非常好的服务。
  1. Input:提供了一个没有定义的输入模块,和对全部平台的解决方式。支持键盘、触摸屏、加速计、和鼠标。

  1. Graphics*:用硬件提供的OpenGL ES实现了在屏幕上绘制图片。
  1. Files:通过提供读写操作的方便的方法实现了抽象的文件操作,无论媒体文件。
  1. Audio:在全部平台上的声音录制和播放。
  1. NetWorking:提供了网络操作的方法,比方简单的HTTP get 和post请求。和TCP server/client 的socket通信。
以下的图标展示了在一个完整的游戏体系中的这些模块:
 
 
 

模块:

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);

 
 
 
 
 
你可能感兴趣的文章
PowerDesigner跟表的字段加注释
查看>>
w !sudo tee %
查看>>
javascript面试题:如何把一句英文每个单词首字母大写?
查看>>
URAL 1962 In Chinese Restaurant 数学
查看>>
计算 TPS,QPS 的方式
查看>>
洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]
查看>>
群晖NAS使用Docker安装迅雷离线下载出现the active key is not valid.
查看>>
spring boot 2使用Mybatis多表关联查询
查看>>
Making HTTP requests via telnet - Tony's Place
查看>>
千元机市场再添“新宠”,红米Note7和vivo Z3谁才是千元王者
查看>>
荣耀10GT升级EMUI 9.0体验分享:这可能是最好用的手机操作系统
查看>>
ZStack基于华芯通打造ARM国产云平台 助力云上贵州多项应用
查看>>
200本“保护日记”记录黄山迎客松生长变化
查看>>
多方力量携手呵护“中华水塔”青海三江源
查看>>
互联网的下一波红利在哪里?
查看>>
拿姐姐身份证登记结婚竟然成了!婚姻户籍信息共享难在哪儿
查看>>
恒大造车加速,联手柯尼塞格打造顶级新能源车
查看>>
JAVA大神说一个例子让你几分钟学会Annotation
查看>>
富士康要用机器人生产iPhone了?那么多工人怎么办?
查看>>
Python获取当前页面内的所有链接的五种方法
查看>>