位置 (Position)
在 Corona 中,螢幕的原點在左上角,越往右 x 座標越大,越往下 y 軸座標越大,反之則越小。contentWidth 為螢幕的寬、contentHeight 為螢幕的長,也因此螢幕的中心點為 (contentWidth/2, contentHeight/2)。
但是顯示物件 (Display Object) 就不是這麼回事了,顯示物件預設的座標原點並非在左上角,而是在物體中心。 讓我們看看以下這段程式碼就會更清楚:
--position/main.lua
local circle = display.newCircle(0, 0, 200 )
circle.fill = {1,0,0} --red circle
local circle2 = display.newCircle(display.contentWidth/2, display.contentHeight/2, 200 )
circle2.fill = {0,1,0} --green circle
local circle3 = display.newCircle(display.contentWidth, display.contentHeight, 200 )
circle3.fill = {0,0,1} --blue circle
輸出結果:
紅色的圓圈 (circle) 設置在螢幕原點 (0, 0) 的位置,但由於物件的原點是在正中間,所以只會顯示出右下角 1/4 的圓。同理藍色圓圈 (circle3) 因為是設置在右下角 (display.contentWidth
, display.contentHeight
),只會顯示左上角的部分。而綠色的圓圈 (circle2) 設置在螢幕正中央 (display.contentWidth/2
, display.contentHeight/2
) 的緣故,則會顯示出完整的圓。
練習:
試著在自己的關卡中新增三個敵人,並將他們擺放到不同的位置。