[英]Why does the sample author hardcode width and height for orthographic camera?(LibGdx Zombie Bird tutorial)
我正在嘗試遵循此處的指南並學習LibGdx。
http://www.kilobolt.com/day-4-gameworld-and-gamerenderer-and-the-orthographic-camera.html
這是用於設置正交攝影機的寬度和高度的作者代碼(用於將3d素材均勻地投影到2d的攝影機?
private OrthographicCamera cam;
and later in a constructor
cam = new OrthographicCamera();
cam.setToOrtho(true, 136, 204);
他為什么要選擇硬編碼寬度和高度,而不通過Gdx.graphics.getWidth / getHeight檢索正在運行游戲的屏幕的高度和寬度,這是有原因的嗎? (-從在LibGDX(Java)中更改坐標系開始 )
您不了解相機的行為。 相機的屏幕是320x480還是1080 * 1920都沒關系。 相機使用自己的坐標系。 例如我們有1920 * 1080屏幕。 我們不想使用像素,因為這是不好的做法。 我們真正想要的是擁有自己的世界坐標系。 如果您的世界為16 * 9 m,則可以計算出1 m = 120像素。 但是您的朋友可以擁有800 * 450的屏幕,對他來說1 m = 50像素。 這就是為什么我們要硬編碼相機的寬度和高度。 但是這里還有另一個問題,比率。 我們認為我們的比率是16/9,但是某些設備可以具有4/3比率。 支持很多比率是非常復雜的主題,因此在這里我不想提及。
不同比例游戲的屏幕截圖
如果您願意,我可以與您分享我的代碼。 但是請注意,這並不完美,也不是完整的游戲。 正如您從屏幕截圖中看到的那樣,我不是硬編碼高度,而是寬度。 所以我上下都有空的空間。
如果有人還在為此苦苦掙扎,建議閱讀第5部分,作者在其中解釋“我們將如何假設游戲的寬度始終為136。高度將動態確定!我們將計算設備的屏幕分辨率並確定游戲的高度。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.