0
我正在製作這個圖形用戶界面,圖標應該始終保持在屏幕上的相同位置,並且我想讓它們在點擊它們時執行某些操作。鼠標在屏幕上的Java位置
在我來說,我做了這個整齊取消的象徵符號,我把我的LWJGL顯示屏的右上角 - 我做了這個代碼在這裏要啓用它點擊:
private void CloseIcon()
{
if(Input.GetMousePosition().GetX() > 1175 && Input.GetMousePosition().GetX() < 1215 &&
Input.GetMousePosition().GetY() > 685 && Input.GetMousePosition().GetY() < 715)
{
if(Input.GetMouse(0)) {
System.out.println("closing porgram..");
}
}
}
現在有是這個方法的兩個問題,我想知道如果有更好的方法來做到這一點?
問題1:當我改變顯示器的分辨率,或者如果我進入全屏顯然x和y的定義不再一樣 - 定義圖標位置的更好方法是什麼?
問題2:此刻我有圖標對象與相機一起移動,就像它始終停留在屏幕上的相同位置 - 仍然有更好的方法將對象放置在openGL中,以便始終保持在同一個地方,不管攝像頭在做什麼?
非常感謝,但由於我使用lwjgl,我無法使用Display.getWidth()和Display.getHeight? – DisasterCoder
看到新的anwser ...所以你不會有任何麻煩來計算從「屏幕」/「窗口」的中間點,即使你改變屏幕分辨率。 –
嗯是的,但是當我改變分辨率在一個點上的位置都會被搞砸......例如,如果我允許在程序運行時更改分辨率,那麼鼠標的所有位置都將出現在錯誤的playe ?? – DisasterCoder