簡體   English   中英

除非Android應用程序暫停,否則精靈不會顯示-LibGDX

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM