作者译读的LibGdx的版本是1.9.1
首先我们今天来讲的主角是libgdx中最重要的接口,也是我们游戏的入口基类——Application,我们平常调用的话可以使用它的简写Gdx
它所实现的类有以下五种:
GwtApplication, IOSApplication, JglfwApplication, LwjglApplication, LwjglCanvas
一个应用程序的主要入口。它设置了一个窗口和渲染表面,并管理您的应用程序的不同方面,即图形,音频,输入和文件。也就相当于java Swing的JFrame或Android的Activity。
一个游戏程序可以是以下任何一个的实例:
- 一个桌面应用(JglfwApplication 类为入口。我们引用的是 gdx-backends-jglfw.jar)
- 一个Android应用(AndroidApplication类为入口。我们引用的是 gdx-backends-android.jar)
- 一个HTML5应用(GwtApplication类为入口。我们引用的是gdx-backends-gwt.jar)
- 一个iOS应用(IOSApplication类为入口。我们引用的是gdx-backends-robovm.jar)
每个游戏都会有一个主要的入口,在安卓程序中Libgdx采用的是在不同的方法里处理每件事。
所以你的游戏必须实现Applicationlistener接口,作者实际用的过程中,也可以采用继承ApplicationAdapter这个类,它里面会调用以下的方法:
- create(创建)
- resume(恢复)
- pause(暂停)
- render(渲染)这个方法会不停的执行
- resize(调整大小)
- dispose(游戏资源销毁)
你可以在对应的方法里写上对应的逻辑判断
Applicationlistener可以提供任何平台程序的实现
这意味着,你只需要写你的游戏逻辑一次,并有它运行在不同的平台上,通过它到一个具体的应用程序实现。
Application接口为您提供了一组图形、音频、输入和文件输入/输出模块。
Gdx.Graphics
为您提供输出图像到屏幕的各种方法,这是通过OpenGL ES 2.0和3.0实现的。所以这要取决与平台在Android中是可以通过java来调用的。
Gdx.Audio
为您提供各种方法来输出和记录声音和音乐。这是通过API实现的java桌面程序上的声音。在安卓系统上使用的是安卓的媒体框架。
Gdx.Input
为您提供各种各样的方法来轮询用户从键盘,触摸屏,鼠标和加速度器的输入。另外你可以实现一个Inputprocessor接口和使用它的输入。在Gdx.input.setinputprocessor(inputprocessor)接收输入事件
Gdx.Files
为您提供各种方法来访问内部和外部文件。桌面游戏是存储在游戏程序附近的一个文件,桌面游戏的路径是先扫描指定的文件,如果失败,那么再在你的游戏的根目录下查找。外部文件是您在应用程序中创建的资源,并将外部文件写入外部存储。
在安卓中是放在Assets目录下,在安卓外部文件驻留在SD卡上,桌面上的外部文件都写到用户所在的目录中。你也可以指定绝对文件名,绝对文件名是不可移动的,所以要小心使用这个功能的时候。
Gdx.Net
为您提供执行网络操作的各种方法,例如执行HTTP请求,或创建更复杂的网络编程的服务器端和客户端套接字。
Application接口还提供了一些方法,您可以使用这些方法来查询特定的信息,如操作系统等等,然而,不建议使用。
Application接口将打印Log到标准输出到桌面和logcat Android。
Gdx.app.setLogLevel(Application.LOG_DEBUG);方法的使用会在后面的课程中讲到。
下面讲的是Application里面的方法
Gdx.app.getApplicationListener();
返回一个ApplicationListener实例;
Gdx.app.getGraphics();
返回一个Graphics实例;
Gdx.app.getAudio();
返回一个Audio实例;
Gdx.app.getInput();
返回一个Input实例;
Gdx.app.getFiles();
返回一个Files实例;
Gdx.app.getNet();
返回一个Net实例;
Gdx.app**.log**(java.lang.String tag,java.lang.String message)
Gdx.app.error(java.lang.String tag,java.lang.String message)
Gdx.app.debug(java.lang.String tag,java.lang.String message)
这三个是日志的输出
Gdx.app.setLogLevel(int logLevel);
设置输出的日志的级别
Gdx.app.getType();
返回游戏平台的类型Android or Desktop
Gdx.app.getVersion();
返回安卓Android API级别,iOS上的主要操作系统版本(5,6,7,8 , 9 , 10 …);
Gdx.app.getJavaHeap();
返回游戏占用的内存
Gdx.app.getNativeHeap();
返回游戏本地内存中使用的字节
Gdx.app.getPreferences();
返回此应用程序的Preferences它可以用来存储运行中的游戏的简单数据。
Gdx.app.getClipboard();
返回一个剪贴板对象
Gdx.app.postRunnable();
增加一个线程在主线程中
Gdx.app.exit();
退出
Gdx.app.addLifecycleListener(LifecycleListener listener)
增加了一个新的游戏生命周期监听,这可以通过扩展到更容易管理生命周期
Gdx.app.removeLifecycleListener(LifecycleListener listener);
移除生命周期
如果你觉得好,随手点赞,也是对笔者的肯定,也可以分享此文给更多的人,原创不易

本文介绍了LibGdx游戏开发框架中的核心接口Application及其相关实现类。详细解释了如何通过实现ApplicationListener接口来构建跨平台游戏,包括创建、恢复、暂停、渲染等关键方法。同时概述了Gdx提供的图形、音频、输入等功能。
Application接口&spm=1001.2101.3001.5002&articleId=52496804&d=1&t=3&u=523394a5edab404ab56d8d8e95f8f7f6)
156

被折叠的 条评论
为什么被折叠?



