私は自分のAssetManagerにlibgdxで問題があります。私はメインクラスでそれを作成していて、アセットマネージャを画面に返すgetMethodを持っています。私の画面のクラスでassetManager.get(etc。)に行くと、AssetManager libgdxアセットがロードされていません
FATAL EXCEPTION: GLThread 563
Process: com.johnny.gamerpg, PID: 9855
com.badlogic.gdx.utils.GdxRuntimeException:
Asset not loaded: data/backgrounds/mainMenu.png
これは私のメインクラスのcreate()です。
public void create()
{
batch = new SpriteBatch();
assetManager = new AssetManager();
assetManager.load("data/backgrounds/mainMenu.png", Texture.class);
startTime = TimeUtils.millis();
this.setScreen(new Splash(this));
if(assetManager.update() && TimeUtils.timeSinceMillis(startTime) > 3000)
{
setMainMenuScreen();
}
}
これは私のMainMenuクラスのコンストラクタです。あなたは、メニュー画面に
public MainMenu(GameControl gam)
{
this.game = gam;
assetManager = gam.getAssestManager();
background = assetManager.get("data/backgrounds/mainMenu.png", Texture.class);
}
setMainMenuScreen()
public void setMainMenuScreen()
{
setScreen(new MainMenu(this));
}
@ assetManager.finishLoading() – Marius
@Mariusはassetをロードすると、SplashからMainMenuに切り替えるためにtrueまたはfalseを返します。 – johnnyboy5566
finishすべてのアセットがロードされるまでブロックをロードするので、内部的にupdate()を使用します。 – Marius