[英]Sprite not displaying unless android app pauses - LibGDX
这是代码: http : //hastebin.com/ugufakeyap.java
当我运行此命令时,屏幕上未显示精灵“ aspectRatios”。 但是,当我按下主屏幕按钮暂停程序,然后继续执行程序时,它将在屏幕上显示精灵。 为什么是这样? 真烦人。
您需要调用camera.update();
换位置后。 我最好的猜测是libGDX在恢复时会自动更新相机。
public void create () {
batch = new SpriteBatch();
txt = new Texture(Gdx.files.internal("test2.png"));
aspectRatios = new Sprite(txt);
aspectRatios.setPosition(0,0);
//aspectRatios.setSize(100,100);
camera = new OrthographicCamera();
viewport = new StretchViewport(1080,1920,camera);
camera.position.set(camera.viewportWidth/2,camera.viewportHeight/2,0);
camera.update();
viewport.apply();
//batch.setProjectionMatrix(camera.combined);
Gdx.input.setInputProcessor(this);
}
通常,您也可以在那里更新批处理投影矩阵,但是无论如何,您都要在render方法的每一帧中进行更新。
有人在libGDX irc频道上帮助了我。 原来我没打电话
viewport.update(width, height, centerCamera);
(感谢Xoppa )
并且(根据ASneakyFox ):“您必须假设android设备不会达到您想要的大小,它会在应用打开或更改方向时调用resize,因此您可以将布局修改为屏幕尺寸(即更改视口)”
这是代码的更新版本: http : //hastebin.com/olivopocix.java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.