gpt4 book ai didi

java - LibGDX render() 方法未触发

转载 作者:行者123 更新时间:2023-12-01 18:42:30 26 4
gpt4 key购买 nike

我有一个渲染方法,但我不明白为什么它没有发生。这是我到目前为止的代码:

public class DevMaze extends Game {

SpriteBatch batch;
BitmapFont font;

public void create() {
...
this.setScreen(new MainMenuScreen(this));
...
}

public void render() {
super.render();
}

...
}

MainMenuScreen 已设置并渲染得很好,代码如下:

    public class MainMenuScreen implements Screen {

final DevMaze game;
OrthographicCamera camera;

public MainMenuScreen(final DevMaze g) {
this.game = g;

camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 480);
}

public void render(float delta) {
...
if (Gdx.input.isTouched()) {
game.setScreen(new GameScreen(game)); // This line runs
dispose();
}
}

但是当我将屏幕设置为 GameScreen 时,构造函数运行得很好,但渲染方法永远不会触发:

public class GameScreen implements Screen {

final DevMaze game;
OrthographicCamera camera;
...

public GameScreen(final DevMaze g) {
this.game = g;

// Create Camera
camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 480);

// Load assets
...

System.out.println("ONE MORE LINE!"); // This prints
}

public void render() {
System.out.println("MADE IT TO GAME SCREEN"); // This does not prints

...
}

我需要知道为什么渲染方法没有触发。

我真的不知道该去哪里。我能找到的所有其他资源都告诉我要确保我的游戏扩展类中有 super.render() - 我就是这么做的。我尝试删除我认为不相关的代码并保留相关的内容,但如果您需要任何其他信息来弄清楚这里发生了什么,请告诉我。

这也是我使用 LibGDX 的第一个项目之一,所以如果这是一个愚蠢的问题,提前抱歉!

谢谢。

最佳答案

public void render() 需要是 GameScreen 类中的 public void render(float deltaTime) 。我假设您的 GameScreen 中有另一种带有 deltaTime 的方法,该方法会被触发,因为否则它将无法编译。

关于java - LibGDX render() 方法未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19353018/

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