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