java LIBGDX设置屏幕空指针异常
实际上我对libgdx有点问题
打字游戏。爪哇
public class TypingGame extends Game {
TypingGame game;
GameScreen gameScreen;
GameOverScreen gameOverScreen;
@Override
public void create() {
gameScreen = new GameScreen();
gameOverScreen = new GameOverScreen(game);
Texture.setEnforcePotImages(false);
setScreen(new GameScreen()); // Default screen : Gamescreen
}
}
我希望能够通过使用setScreen更改当前屏幕。以下是我所做的:
游戏屏幕。爪哇
public class GameScreen implements Screen, InputProcessor{
private World world;
private WorldRenderer renderer;
private WorldController controller;
TypingGame game;
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.5f, 0.1f, 0.1f, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
Timer.elapsedTime(delta);
renderer.render(delta);
controller.update(delta);
if(Player.health == 0) game.setScreen(new GameOverScreen(game)); // If the player died, switch to GameOverScreen
}
// And so on...
游戏在屏幕上。爪哇
public class GameOverScreen implements Screen{
TypingGame game;
GameScreen gameScreen;
public GameOverScreen(TypingGame game){
this.game = game;
gameScreen = new GameScreen();
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.5f, 0.1f, 0.1f, 1);
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
}
@Override
public void resize(int width, int height) {
}
@Override
public void show() {
}
@Override
public void hide() {
}
@Override
public void pause() {
}
@Override
public void resume() {
}
@Override
public void dispose() {
}
}
我不明白我为什么会有这个错误:
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NullPointerException
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:113)
Caused by: java.lang.NullPointerException
这应该很容易使用,但我唯一能真正使用setScreen的类是。。。打字游戏。爪哇
非常感谢您的帮助,谢谢您,我的英语很差
西娅
共 (0) 个答案