[英]Loading Screen Libgdx Assetmanager
Trying to create a loading screen, I have a Assets
class and a LoadingScreen
class which is called immediately from: 尝试创建一个加载屏幕,我有一个
Assets
类和一个LoadingScreen
类,该类立即从以下位置调用:
this.setScreen(new LoadingScreen(this));
At loading screen I have this: 在加载屏幕上,我有这个:
public class LoadingScreen implements Screen{
final Game1 game;
Sprite LdScreen;
OrthographicCamera camera;
public LoadingScreen(Game1 gam){
game=gam;
camera = new OrthographicCamera();
camera.setToOrtho(false, 1920, 1080);
}
public void show() {
Texture LdscreenTexture = new Texture(Gdx.files.internal("data/Background.png"));
LdScreen = new Sprite (LdscreenTexture);
Assets.manager.finishLoading();
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
game.batch.setProjectionMatrix(camera.combined);
game.batch.begin();
game.batch.draw(LdScreen, 0,0);
game.batch.end();
Assets.manager.update();
if(Assets.manager.update() == true){
game.setScreen(new MainMenuScreen(game));
}
}
But it always returns and error, as though it tries to move to MainMenuScreen
class and the asset isn't loaded, which it should be if Assets.manager.update()
is true right? 但是它总是返回并出错,就像它试图移动到
MainMenuScreen
类并且没有加载资产一样,如果Assets.manager.update()
为true,应该是正确的吗? Why is this a problem? 为什么这是个问题?
this simple example 这个简单的例子
.//Add in your Class Game1 .//添加您的班级游戏1
Variable Class 可变类
private AssetManager yourAssetManager;
Created Method 创建方法
yourAssetManager = new AssetManager();
Get Set Method 获取设置方法
public AssetManger getManger(){
return this.yourAssetManager;
}
. 。
public class LoadingScreen implements Screen{
final Game1 game;
Sprite LdScreen;
OrthographicCamera camera;
AssetManager yourAssetManager;
public LoadingScreen(Game1 gam){
game=gam;
this.yourAssetManager = game.getManager();
camera = new OrthographicCamera();
camera.setToOrtho(false, 1920, 1080);
}
public void show() {
Use yourAssetManager.load(.... for load asset 使用yourAssetManager.load(....作为负载资产
yourAssetManager.load("data/Background.png", Texture.class);
Texture LdscreenTexture = new Texture(Gdx.files.internal("data/Background.png"));
LdScreen = new Sprite (LdscreenTexture);
//Assets.manager.finishLoading();
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
game.batch.setProjectionMatrix(camera.combined);
game.batch.begin();
game.batch.draw(LdScreen, 0,0);
game.batch.end();
//Assets.manager.update();
if(yourAssetManger.update()){
game.setScreen(new MainMenuScreen(game));
}
}
read this link https://github.com/libgdx/libgdx/wiki/Managing-your-assets i,m not right now test sorry. 请阅读此链接https://github.com/libgdx/libgdx/wiki/Managing-your-assets我现在不对不起。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.