libgdx:[16]获取平台种类
使用libgdx获取所运行设备的平台类型,以及使用libgdx获取内存使用情况。
工具/原料
libgdx
Querying the platform type 获取平台种类
1、你或许要编写一个有平台依赖性的程序,需要知道所运行的平台种类信息。下面的示例代码如何获取平台信息:switch (Gdx.锾攒揉敫app.getType()) {case Desktop:// Code for Desktop applicationbreak;case Android:// Code for Android applicationbreak;case WebGL:// Code for WebGL applicationbreak;default:// Unhandled (new?) platform applicationbreak;}
![libgdx:[16]获取平台种类](https://exp-picture.cdn.bcebos.com/4a6d48ee7b7f860eb2f1ed4777f5ee0d3bcebedb.jpg)
Querying memory usage 获取内存使用
1、你可以询问系统获取当前程序使用的内存。这可以帮助你避免由于内存过度分配造成的程序崩溃。下面的代码块 返回相应的堆所斜惆垦墉占用的内存(字节数)long memUsageJavaHeap = Gdx.app.getJavaHeap();long memUsageNativeHeap = Gdx.app.getNativeHeap();
Graphics module 图形模块
1、图形模块可以通过Gdx.getGraphics() 调用 也可以通过快捷方式Gdx.graphics. 调用
Querying delta time 获取增量时间
1、libgdx 通过Gdx.graphics.getDeltaTime() .获取当期帧和上一帧的时间跨度,单位为秒
Querying display size 获取屏幕尺寸
1、通过调用Gdx.graphics.getWidth() 和 Gdx.graphics.getHeight() .获取设备的屏幕尺寸。
Querying the FPS (frames per second) counter 获取每秒帧数
1、通过libgdx提供的内置帧计数器类获取每秒钟的平均帧数通过调用Gdx.graphics.getFramesPerSecond() . 来获取每秒的帧数。
Audio module 音频模块
1、音频模块可以通过Gdx.getAudio()或者通过快捷方式Gdx.audio. 调用
![libgdx:[16]获取平台种类](https://exp-picture.cdn.bcebos.com/fdb4f00d3aceaad7a6ef0451eee7340f6578b8db.jpg)
Sound playback 背景音乐
1、调用Gdx.audio.newSound() 加载声音作为背景音乐。支持的音频格式为:WAV, MP3, 和 OGG.有一个音频解码的上限 :1M ,不过作为短暂的声音效果,这个限制并不会成为问题,比如 子弹声音 或者爆炸声。
Music streaming 音乐数据流
1、调用Gdx.audio.newMusic() .获取音乐流数据做为背景音乐。支持格式:WAV, MP3, and OGG.
Input module 输入模块
1、通过Gdx.getInput() 或者快捷方式Gdx.坡纠课柩input. 获得输入模块来获取和 管理相应的输入,你可以实现朐袁噙岿InputProcessor 接口 并调用Gdx.input.setInputProcessor() .把他设置为输入事件全局管理器。
![libgdx:[16]获取平台种类](https://exp-picture.cdn.bcebos.com/64a62a0f64781423643d7e8daac2bbd6e0d0b2db.jpg)
Reading the keyboard/touch/mouse input 读取键盘、触屏、鼠标输入
1、通过调用Gdx.input.getX() 或 Gdx.坡纠课柩input.getY() .获取原点在左上角的屏幕的坐标系统的旌忭檀挢x或y 坐标。•通过调用Gdx.input.isTouched()检测屏幕是否被手指或者鼠标点击。•通过调用Gdx.input.isButtonPressed()检测鼠标按钮是否被按下。•通过调用Gdx.input.isKeyPressed()检测键盘是否被按下。
Reading the accelerometer 读取加速度计
1、通过调用Gdx.input.getAccelerometerX() .读取加速计在x轴的值。用y或z替换 方法名中的x可以获取对应的轴上的加速计值,要清楚的知道在 桌面系统中没有加速计,所以通常会返回0.
Starting and canceling vibrator 启动和取消震动
1、在Android中你通常可以通过调用Gdx.input.vibrate() .获取震动器设备。一个正在运行的振动器可以通过调用Gdx.input.cancelVibrate() 停止。
Catching Android soft keys 获取Android软键盘
1、你获取需要获得Android系统的软键盘并添加一些额外的控制代码。如果你要捕获返回键,调用Gdx.input.setCatchBackKey(true) .如果你要捕获菜单键调用Gdx.input.setCatchMenuKey(true) .在桌面系统或有一个鼠标指针,你可以告诉libgdx捕获它,通过调用Gdx.input.setCursorCatched(true) .获得一个永久的鼠标光标,让鼠标光标一直停留在程序窗口中。
The fies module 文件模块
1、文件模块可以通过Gdx.getFiles() 或快捷方式Gdx.files. 调用。
![libgdx:[16]获取平台种类](https://exp-picture.cdn.bcebos.com/777f3fc2bbd6e1d0b26c92d20d254193cfe8afdb.jpg)
Getting an internal fie handle 获得内部文件管理
1、你可以通过调用Gdx.files.internal() .获得一个内部文件处理。在Android 和 webGL平台,相当于assets 文件,在桌面平台中相当于根目录。
Getting an external fie handle获取外部文件处理
1、你可以通过调用Gdx.files.external() 获得外部文件处理。外部文件在Android平台相当于 SD卡。在桌面平台相当于用户 主文件夹。注意这对于 webGL程序是不可用的。
The network module 网络模块
1、网路模块可以通过调用Gdx.getNet()或使用快捷方式Gdx.net.获取。
HTTP GET 和HTTP POST
1、通过Gdx.net.httpGet()或Gdx.net.httpPost() .请求HTTP GET 和 POS
![libgdx:[16]获取平台种类](https://exp-picture.cdn.bcebos.com/555acf0ff2260d9ad88a1f2a622abab84340a5db.jpg)
Client/server sockets
1、你可以通过调用Gdx.net.newClientSocket()或 Gdx.net.newServerSocket() .创建客户端或服务器。
Opening a URI in a web browser 在浏览器打开一个 URL
1、调用Gdx.net.openURI(URI) .在默认浏览器打开一个 统一资源地位符Uniform Resource Identifir(URI)