2013-10-31 51 views
0

我目前設置使用AndEngine GLES2中心的場景,我有以下疑問: 我放在一個背景,從我的理解,這個新版本的AndEngine,精靈的位置應該相對於左下角。AndEngine - 怎麼知道的位置放置的物體上的場景

但是,如果我想在一個位置(x,y)放置一個對象,並且在FireWorks這樣的編輯器中看到這樣的位置,並使用Sprite參數,它將不會出現在編輯器中出現的相同位置。如何知道放置物體的正確位置?

謝謝!

+0

你是對的,錨中心使用座標從左下角,但我想在Fireworks中的位置是有點過了從手機的分辨率。因此,可能要檢查煙花畫布大小以及andengine – kabuto178

+0

但你有什麼建議,如何在特定位置定位的對象?如何猜測那個位置?做不同的測試? – pinker

+1

我使用原始的GLES2分支並進行定位我會說從0,0開始並進行更改,直到您到達所需位置,然後您可以使用之前的座標作爲參考點。我在代碼中的定位從來沒有使用過像FireWorks這樣的其他編輯器。 – kabuto178

回答

6

每一個角色(實際上實體)有一個錨點。在場景位置(x,y)上放置Sprite時,它意味着您將Sprite的錨點粘貼在座標(x,y)上。

在AndEngine GLES2和GLES2-AC分支,二者錨點和座標系統是不同的。

   | GLES2     | GLES2-AnchorCenter 
-------------+---------------------------+------------------------------------- 
anchor point | At corner of entity.  | As branch name, at center of entity. 
      | (left-top corner)   | (vertically and horizontally) 
      |       | 
      | anchor point   | 
      | |      | 
      | V      |  +-------------+ 
      | X-------------+   |  |    | 
      | |    |   |  |  X <-------- anchor point 
      | | I am Entity |   |  | I am Entity | 
      | |    |   |  +-------------+ 
      | +-------------+   | 
      |       | 
-------------+---------------------------+------------------------------------- 
coordinates | Origin at left-top.  | Origin at left-bottom 
      | move right -> x increase, | move right -> x increase, 
      | move up -> y decrease. | move up -> y increase. 

注意:當實體旋轉,傾斜和縮放時,也使用錨點。因此,在GLES2分支中,當實體旋轉時,人們經常會認爲實體也在移動,但它不會,錨點始終固定在座標(x,y)上。