簡體   English   中英

使用LibGdx在大圖像邊框內平移

[英]Pan within large image borders with LibGdx

我正在構建一個小型測試游戲,基本上是瓦爾多在哪里。 我有一幅大圖像,可以平移並尋找Waldo,但是我不知道如何將相機保持在精靈邊界(x,y)之內。 現在,您可以平移圖像邊界,並且可以永遠持續。

相關代碼:

sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2);

public boolean pan(float x, float y, float deltaX, float deltaY) {
        camera.translate(-deltaX * PAN_SPEED, deltaY * PAN_SPEED);
        camera.update();
        return true;
    }

沒有太多,我已經嘗試了很多事情,但是問題是我不知道如何獲得平移的距離,如果我要設置“邊界”,則需要它。 現在, sprite.getX() == -2200) ,並且相機視口只有(480x800) ,所以我很難處理圖像大小和視口以及已平移的距離。

我以前必須解決過這個問題,但是我做得非常笨拙。 當我平移時,基本上我只有一個日志可以打印出當前相機的位置。 當我能看到屏幕邊緣(下方的空白GL擦拭物)時,我記下了相機的位置。

我最終知道,如果camera.getX()> sprite.getWidth()-someVal,則邊緣將出現在屏幕上。 因此,我只是添加了一種方法,如果攝像機超出了這些預定義的范圍,則該方法會削減攝像機的任何X / Y值。

這不是一個很好的答案,但它還可以讓您控制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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