2014-06-18 128 views
3

所以我坐在這裏用手機與800px寬屏幕..和Gdx.graphics.getWidth()也返回800,因爲它應該..Libgdx座標Gdx.input.getX()不正確

但是,當我得到協調從Gdx.input.getX()觸摸屏幕一路向左時,我得到最高的數字是780左右..和大約20在右側..

所以我所有的座標都錯了,所以我所有的按鈕和東西不工作的他們應該等

任何想法是怎麼回事?

+1

你確定你在屏幕(這幾乎是不可能的)的非常非常非常結束攻? 通常情況下,你的手指大,遠遠高於20像素寬。 – Bobby

+0

你不應該需要'Gdx.input.getX()'都沒有。通常對於按鈕,您將使用帶有按鈕的'scene2d'並正確處理所有輸入事件。 – noone

+0

ManuToMatic,我在其輸出上的所有幀的座標,我慢慢地移動我的手指在手機的邊緣和最後一個座標其輸出是780,而不是800,因爲它應該是。 – user3752513

回答

0

嘗試unproject座標。

Vector3 vec=new Vector3(Gdx.input.getX(),Gdx.input.getY(),0); 
camera.unproject(vec); 
// now use vec.x and vec.y instead of gdx.input.get... 
+0

已經嘗試過,結果相同。 – user3752513

+0

你的手機是什麼? –

0

你的座標是從另一個方向來計算,所以你必須使用

float ClickY = GameHeight - Gdx.input.getY();