当前位置: 首页 > 面试题库 >

无头/ CLI LibGDX

吉栋
2023-03-14
问题内容

我正在为小型LibGDX驱动的游戏编写服务器端代码,偶然发现了一个问题。每次尝试使用任何Gdx.files.*方法时,都会遇到NullPointerException

显然这是因为我没有实现ApplicationListener,所以LibGDX尚未初始化。

有没有办法以无头/ CLI方式初始化LibGDX?我需要能够在服务器端加载TiledMap对象。

MapLoader(Request request)
{
    TiledMap tmp = new TmxMapLoader().load("maps/" + request.name + ".tmx");
}

com.esotericsoftware.kryonet.Server $
1.received(Server.java:60)处com.esotericsoftware.kryonet.Server $
1.received(Server.java:60)处com.tester.Example.server.ExampleServer $
2.received(MapLoader.java:83)处的线程“ Server”中的异常。
com.esotericsoftware.kryonet.Server.update(Server.java:202)上com.esotericsoftware.kryonet.Server.update(Server.java:350)上的com.esotericsoftware.kryonet.Connection.notifyReceived(Connection.java:246)在java.lang.Thread.run(Thread.java:722)


问题答案:

我不建议在没有头的环境中使用libGDX,因为它不是设计用于这种方式,并且将来随着libGDX团队更改框架,您可能会遇到问题。
但是,正如Rod所指出的那样,完全有可能做到这一点,并且下面是您如何进行的摘要。要初始化Gdx.files全局变量,您将需要在后端程序包中创建一个类并自行设置全局变量:

package com.badlogic.gdx.backends.lwjgl;

import com.badlogic.gdx.Gdx;

public class Headless {
    public static void loadHeadless() {
        LwjglNativesLoader.load();
        Gdx.files = new LwjglFiles();
    }
}

其余的应该很简单。只需调用Headless.loadHeadless(); 首先,您应该能够使用所需框架的各个部分。

如前所述,我不建议这样做,但是我还没有找到将libgdx与客户端/服务器体系结构一起使用的任何好的解决方案

编辑

不久前(我最初写了这个答案之后),libgdx添加了一个无头后端,其目的是为了这种目的。这是在无头环境中使用libgdx的正确且正确的方法,并且对于使用libgdx创建服务器非常有效。



 类似资料:
  • 问题内容: 最近几天,我一直在将Selenium,Tor和Firefox混为一谈,以完成多项任务。我设法用Python编写了一个简单的脚本,该脚本可通过Selenium控制Firefox,而Firefox则连接到Tor以获得隐私。 现在,我正在寻找一种节省资源的方法,因此我想到了以无头模式运行Firefox,我认为这是一个常见功能,但事实并非如此。我正在寻找一种方法来做到这一点。之所以是Firef

  • 在过去的几天里,我一直把Selenium、Tor和Firefox作为多个任务的组合。我用Python编写了一个简单的脚本,通过Selenium控制Firefox,同时Firefox连接到Tor以保护隐私。 现在,我正在寻找一种节省资源的方法,所以我想到了在无头模式下运行Firefox,我认为这是一个常见的特性但似乎并非如此。我正在寻找一种方法来做这件事。之所以是火狐浏览器,而不是基于终端的浏览器,

  • 问题内容: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.common.exceptions import StaleElementReferenceException, TimeoutException from selenium.webdriver.support

  • 问题内容: 我试图通过自动生成的图形文件来进行数据分析并减少 刺痛 ,并报告更多的图形,为此,我一直在使用matplotlib / pyplot / pylab。效果很好,但是当我尝试在无头服务器上运行它时… 对于此应用程序,我仅使用PyLab,但在使用了一些Google之后,我将以下内容添加到pylab导入之前: 哪个应该更改了后端,但没有任何效果。 有什么想法我做错了吗? 远程机器确实具有X转

  • 问题内容: 我最近在Red Hat Server上安装了Python 2.7,Robot Framework和Selenium Library(我仍然不知道我是否成功…),以便在Web应用程序上运行一些测试。 因此,我尝试使用Robot Framework进行一个简单的测试用例,以查看Selenium Library是否起作用,只是打开一个网页,仅此而已… Selenium Server根据ps的

  • 我正在尝试使用Chrome的Headless功能将html转换为PDF。然而,我根本得不到输出。控制台也不显示任何错误。我正在我的windows M/C中运行以下命令。 chrome--无头--禁用GPU--打印到PDF 我试过了所有的选择。没有生成任何内容。我用的是chrome版本60