Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Libgdx桌面启动器空白_Java_Libgdx - Fatal编程技术网

Java Libgdx桌面启动器空白

Java Libgdx桌面启动器空白,java,libgdx,Java,Libgdx,刚刚开始Libgdx和java游戏开发。有一点代码来尝试和写一个精灵表移动动画的人,刚刚开始,所以还没有完成,当我尝试运行它的单个精灵绘图没有运行,没有什么是桌面应用程序只是黑色的 桌面启动器: package com.mkgame.game1.desktop; import com.MKgames.OptionScreen; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.backends.lwjgl.

刚刚开始Libgdx和java游戏开发。有一点代码来尝试和写一个精灵表移动动画的人,刚刚开始,所以还没有完成,当我尝试运行它的单个精灵绘图没有运行,没有什么是桌面应用程序只是黑色的

桌面启动器:

package com.mkgame.game1.desktop;

import com.MKgames.OptionScreen;
import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.mkgame.game1.Game1;

public class DesktopLauncher extends Game1{
    public static void main (String[] arg) {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "Game1";
        cfg.width = 960;
        cfg.height = 540;

        new LwjglApplication(new Game1 (), cfg);

    }
}
主java类“Game1”:

package com.mkgame.game1;

import com.MKgames.FarmerAsset;
import com.MKgames.OptionScreen;
import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class Game1 extends ApplicationAdapter {

    public OptionScreen game_screen;

    public void create() {
        FarmerAsset.load();
    }
}
游戏画面:

package com.MKgames;

import sun.java2d.loops.DrawGlyphListAA.General;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;
import com.badlogic.gdx.Screen;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class OptionScreen implements Screen{

    GameMain game;
    OrthographicCamera camera;
    SpriteBatch batch;

    int farmerX;

    public OptionScreen(GameMain game){
        this.game = game;

        camera = new OrthographicCamera();
        camera.setToOrtho(true, 1920, 1080);

        batch = new SpriteBatch();

        farmerX = 960-85;

    }


    @Override
    public void render(float delta) {
        Gdx.gl.glClearColor(0.95F, 0.95F, 0.95F, 0.95F);


        camera.update();
        generalUpdate();
        batch.setProjectionMatrix(camera.combined);

        batch.begin();
            batch.draw(FarmerAsset.farmer1, farmerX, 200);
        batch.end();


    }


    public void generalUpdate() {
        if(Gdx.input.isKeyPressed(Keys.A)||Gdx.input.isKeyPressed(Keys.LEFT)){
            farmerX -= 5;
        }
        else if(Gdx.input.isKeyPressed(Keys.D)||Gdx.input.isKeyPressed(Keys.RIGHT)){
            farmerX += 5;   
        }

    }


    @Override
    public void show() {

    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void dispose() {

    }

    @Override
    public void resize(int width, int height) {

    }

    @Override
    public void hide() {

    }

}
改变

在游戏中创建OptionScreen的实例:

public OptionScreen game_screen;

public void create() {
    FarmerAsset.load();
    game_screen = new OptionScreen(this);
    setScreen(game_screen);
}

这应该很好。

刚刚试过,但我在“新选项屏幕(此)”上出错:屏幕上的构造器选项(游戏1)未定义等待一秒钟,GameMain到底是什么?根据您当前的类层次结构,这应该是Game1。另外,请确保您在游戏的dispose()函数中处理SpriteBatch。对不起,我不知道GameMain应该在哪里更改?在选项屏幕上。我甚至不知道GameMain是什么。
public class Game1 extends Game {
public OptionScreen game_screen;

public void create() {
    FarmerAsset.load();
    game_screen = new OptionScreen(this);
    setScreen(game_screen);
}