libgdxを使用してJavaでゲームをやり始めましたが、私はAssetsManagerを使用しようとしています。それはエラーを与え続けます。私はコード(私はコードを再開しようとする)と出力を入れます。 ゲームは読み込み画面をうまく通り抜けますが、ゲーム画面に到達すると停止してエラーが表示されますので、それは資産だと思います。 なぜこのエラーが発生したのか誰かが知っている場合。AssetsManagerを使用したJava libgdxのエラー
DesktopLauncher.java
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
new LwjglApplication(new pressme(), config);
}
}
pressme.java
public class pressme extends Game {
LoadingScreen loadingscreen;
AssetsManager assetsmanager;
Assets assets;
@Override
public void create() {
assets = new Assets();
assetsmanager = new AssetsManager();
assetsmanager.load();
assets.other();
loadingscreen = new LoadingScreen(this);
setScreen(loadingscreen);
}
}
LoadingScreen.java
public class LoadingScreen implements Screen {
Assets assets;
AssetsManager assetsmanager;
private final pressme game;
public GameScreen game_screen;
public LoadingScreen(final pressme game){
assets = new Assets();
assetsmanager = new AssetsManager();
this.game = game;
}
@Override
public void show() {
assetsmanager.load();
}
private void update(float delta){
System.out.println(progress);
if(assetsmanager.manager.update()) {
game.setScreen(new GameScreen(game));
}
progress = assetsmanager.manager.getProgress();
}
}
GameScreen.java
public class GameScreen implements Screen {
pressme game;
Assets assets;
AssetsManager assetsmanager;
public GameScreen(pressme game){
this.game = game;
assets = new Assets();
assetsmanager = new AssetsManager();
}
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0.5F, 0.5F, 0.5F, 0.5F);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
camera.update();
generalUpdate(touch, camera);
batch.setProjectionMatrix(camera.combined);
assets.load();
batch.begin();
batch.draw(assets.back, 0, 0);
batch.end();
}
}
Assets.java
public class Assets {
AssetsManager assetsmanager;
public Sprite back;
public void load(){
assetsmanager = new AssetsManager();
assetsmanager.load();
back = new Sprite(assetsmanager.manager.get(assetsmanager.back, Texture.class));
}
}
AssetsManager.java
public class AssetsManager {
public AssetManager manager = new AssetManager();
public String back = "back.png";
public void load(){
manager.load(back, Texture.class);
}
}
出力
LOADINGGG
0.0
0.0
0.015151516
0.015151516
0.030303031
.
.
.
0.969697
0.9848485
0.9848485
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.badlogic.gdx.graphics.g2d.SpriteBatch.draw(SpriteBatch.java:586)
at com.david.pressme.GameScreen.render(GameScreen.java:244)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:223)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
EDIT
RCは、私はいくつかのエラーでまだ "()assets.load" を置くので、後は先端
いただきありがとうございます。私は "の資産がわからない。負荷()「それはRC、ヒントについてSpylotのTYが、それはあなたが
言ったように、そのiが
をputing、解決した適切な場所にLOADINGGG
0.0
0.0
0.015151516
0.015151516
0.030303031
.
.
.
0.969697
0.969697
0.9848485
0.9848485
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Asset not loaded: back.png
at com.badlogic.gdx.assets.AssetManager.get(AssetManager.java:144)
at com.david.pressme.Assets.load(Assets.java:254)
at com.david.pressme.GameScreen.render(GameScreen.java:172)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:223)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
EDIT2
です
"assets.load" on "public void show()"
このように画面が読み込まれると、開始時にassestが読み込まれ、私はそれを
"public void render(){"
、彼は常にヒントについて
"Assets.java public load(){" i put "assetsmanager.load();"
おかげRcは上、その後、(私はそう思う)そのループためassestsをロードしたため。それで同じ場所で、私は何かをする前にすべての資産を読み込むように、
を入れます。先端にありがとうございます。
ご協力いただき、ありがとうございました。ありがとうございました。
を使用して、それを終える必要がある問題が最も可能性が高いです(')(資産#負荷 'ので、呼び出されることはありません)、ヌルは –
を描画するのが難しいので、 "assets.load"を "batch.begin();"の前に追加してください。 (私はそれを置くために適切な場所を知っていませんが)私には投稿を編集するエラーを与えます –
ああ、明らかにAssetManager(ロードされていない)と同じであるので、おそらくあなたは、いくつかのチュートリアル。 –