libgdx API之Gdx.XXX:无处不在

来源:互联网 发布:网络包装怎么做 编辑:程序博客网 时间:2024/05/16 14:37

应用总体,渲染,输入监听,音频,文件IO,网络这五个东西在游戏开发中经常使用,有的穿插于整个游戏流程。libgdx也封装出对应的类:Application,Graphics,Input,Audio,Files,Net。而且很方便地可以通过Gdx.xx获取相应的单例。每个组件提供的功能如下:


Application:监听应用生命周期,日志打印,获取剪贴板,内存打印,获取设备类型、版本,获取保存器,退出(exit()在android中退出游戏所在的Activity,假如想关掉整个游戏(进程),用java的system.exit(0)但在android中不建议使用。),主线程方法(postRunnable(--):在任何线程中都能调用,作用是在主线程中运行里面的方法。在android中,要清楚游戏的GLThread和android的MainThread关系,假如开发时出现线程有关的错误,不妨用这个方法),获取其他组件单例。


Graphics:获取渲染缓存格式,获取帧间隔时间(取整或浮点)、帧id、帧频率,设备分辨率,像素密度,设备屏幕大小,全屏支持,GL实例(设备不支持则返回null),渲染控制(停止渲染,步进渲染),垂直同步,是否支持扩展(boolean supportsExtension(String extension))。


Input:外围设备是否支持(加速度,振动,触屏等),振动控制,屏蔽返回键/菜单键,获取事件触发时间,轮询(按键,鼠标,传感器包括加速度和方位角),设备原生转向(横屏或竖屏),原生输入框,软键盘,鼠标指针捕获/设置(PC第一人称射击有用),按键键值


Audio:提供很快捷的方法创建音频制作器(AudioDevice,声音文件由一系列采样值组成,使用PCM编码,可以写入采样值得到自己的音乐或从已有音乐中输出采样值),录音器,音乐(Music)和音效(Sound),音乐采用流的形式读取播放,音效则全部读取在内存中。android中sound最好不要超过1M的大小。


Files:获取不同存放位置的权限的文件句柄FileHandle。FileHandle其实和文件路径差不多,不同的类型在设备上的体现不同。如local类型,在Android上是存放在private files directory而desktop则是系统根目录。External类型在android中是SD卡根目录,记得在AndroidMenifets中写入权限。Files还提供检查是否有此权限的方法isExternalStorageAvailable()。


NET:封装Http请求和TCP server/client socket等网络操作。很好用,一般获取同步游戏积分,休闲弱联网游戏等网络交互这个接口足矣。


很多人忽略Gdx.xx这个全局变量,好好用这5个组件吧。

0 0