gpt4 book ai didi

java - LibGDX -> LWJGL 应用程序中的异常 - 无法转换为

转载 作者:行者123 更新时间:2023-12-01 12:31:49 25 4
gpt4 key购买 nike

我希望你能帮助我,我希望我没有忽略任何相关的答案。

因此,当我尝试运行 DesktopLauncher.java 类时,出现此异常。

    Executing: gradle run

Configuration on demand is an incubating feature.
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning
:core:compileJava
:core:processResources UP-TO-DATE
:core:classes
:core:jar
warning: [options] bootstrap class path not set in conjunction with -source 1.6
1 warning
:desktop:compileJava
:desktop:processResources UP-TO-DATE
:desktop:classes
Exception in thread "LWJGL Application" java.lang.ClassCastException: com.bluemoon.game.MainGame cannot be cast to com.badlogic.gdx.InputProcessor
at com.bluemoon.game.MainGame.create(MainGame.java:30)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
:desktop:run

BUILD SUCCESSFUL

Total time: 4.267 secs

我刚刚从 this 复制了我的代码教程。

这是我的核心文件中的 MainGame.java

package com.bluemoon.game;

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.maps.tiled.TiledMap;
import com.badlogic.gdx.maps.tiled.TiledMapRenderer;
import com.badlogic.gdx.maps.tiled.TmxMapLoader;
import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer;

public class MainGame extends ApplicationAdapter {
Texture img;
TiledMap tiledMap;
OrthographicCamera camera;
TiledMapRenderer tiledMapRenderer;

@Override
public void create () {
float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();

camera = new OrthographicCamera();
camera.setToOrtho(false,w,h);
camera.update();
tiledMap = new TmxMapLoader().load("basic_map.tmx");
tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
Gdx.input.setInputProcessor((InputProcessor) this);
}

@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
tiledMapRenderer.setView(camera);
tiledMapRenderer.render();
}
}

这是我的 DesktopLauncher.java

package com.bluemoon.game.desktop;

import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.bluemoon.game.MainGame;

public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();

cfg.fullscreen = true;
cfg.resizable = false;

new LwjglApplication(new MainGame(), cfg);
}

}

当我运行DesktopLauncher.java时,程序被构建,然后屏幕变黑(可能是因为它进入全屏模式)。大约 1-2 秒后程序崩溃。

我正在使用 gradle 数据包管理系统,如果这很重要的话。

最佳答案

这是因为MainGame类没有实现InputProcessor类。应该是:

public class MainGame extends ApplicationAdapter implements InputProcessor {

当然,您必须实现InputProcessor 中的所有方法。

关于java - LibGDX -> LWJGL 应用程序中的异常 - 无法转换为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25866866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com