Skip to main content

[Corona] Landscape 比照 Flash 座標系的設定


目前看起來,由 action script 轉到 Object-C 的難度遠遠超過 Corona SDK for iPhone 用的 Lua
想當然爾選擇 Corona SDK 來寫 iPhone app 對 ASer 來說是第一首選。趁著難得的空檔,花了些時間研究一下,沒想到一開始就被它的座標系搞到眼花...只要 landscape 外加 rotation 的時候整個座標系就會很難控制...(因為跟它不熟啦...XD )


為了堅持在 Corona 中使用 Flash 的座標系(左上到右下),當 landscape 時修改當場景的 group 屬性就可以擔保裡面所有物件都不需要再移動...

main.lua :
--
-- landscape 使用熟悉的 Flash 座標系 in corona
--

local bg = display.newRect( 0, 0, 320, 480 )
bg:setFillColor(100,120,120)

local rect = display.newRect( 0, 0, 50, 50 )
rect:setFillColor(255,255,255)
--直接指定 rect 在場景中的 x, y
rect.x = 100
rect.y = 100

--利用 group 實現場景
local group = display.newGroup()
group.rotation = 90
group.yReference = 160
group.xReference = 160
--將 rect 加到場景中
group:insert( rect )

local function onOrientationChange( event )
local tp = event.type
if (tp == "landscapeLeft") then
group.rotation = 90
group.yReference = 160
group.xReference = 160
elseif ( tp == "landscapeRight" ) then
group.rotation = -90
group.yReference = 240
group.xReference = 240
end
end

Runtime:addEventListener( "orientation", onOrientationChange )

Comments

Popular posts from this blog

PureMVC 我也會 [0]

最近感覺 PureMVC 又熱了起來,也剛好好久沒有更新文章了, 就順便將去年底做的企業內訓 PureMVC 課程部分整理寫出來, 要講 PureMVC 當然要先從啥是 MVC 講起: Model-View-Control 出處: 維基百科 MVC ,大概節錄一段: (控制器Controller)- 負責轉發請求,對請求進行處理。 (檢視View) - 介面設計人員進行圖形介面設計。 (模型Model) - 程式設計師編寫程式應有的功能(實作算法等等)、數據庫專家進行資料管理和數據庫設計(可以實作具體的功能)。 其實到 Flash 的世界來講,Model and Control 都是由 .as 處理,而 View 便是 .fla+.as ,為了要鬆綁之間的關係,Event 機制就相當重要。其實每個人對 MVC 的最佳解釋都不同,真的要多練習才會有所領悟。 簡單來說: Model = 餐廳廚房 data: 西餐類 action:依照點菜單做餐點 action: 做完餐點就是將餐點放在出菜口按下通知鈴等服務生來 Control = 服務生 action: 聽到大門歡迎鈴就要說「歡迎光臨」 action: 看到客人揮揮手要去收點菜單 action: 聽到廚房通知鈴看是哪桌的餐點去送菜 View = 餐廳外場 view: 田園式的西餐廳裝潢 action: 客人進門會有歡迎鈴 action: 客人揮揮手叫服務生過來服務,是哪個服務生都無所謂,重點只要會收點菜就行了。 action: 客人收到餐點準備開動 當餐廳要改成外炒店,這時候只需要將大廚換成會中餐廚師,其出的菜就是中式快炒。 當餐廳外場由田園式外觀重新裝潢成華麗感夜店風,其進門的客層也會有所不同。 重點就是當你換掉一個地方時,對其它的部份不會造成太大的影響或者根本無所謂,這就是 MVC 所講求的境界... 一般來說,小專案有沒有必要使用 MVC 就是由各位自己判斷了,當你習慣將程式切分開來,發現 debug 不是一件痛苦的事情時,這時候有沒有強制使用 MVC 倒不是重點,因為你已經養成良好的撰寫習慣。但是開始接觸大型專案配合 team work 時,在沒有一個共用的核心框架前提下,這個專案開發到最後一定會是一個多手多腳的怪物,共用核心框架的價值就在這邊展現,這

[Flex] Optilink雲端報價系統

這個報價系統雖然是兩三年前的作品,一年前應客戶要求更新並改版到 v2.5,目前線上說明書也趨近完備,所以在這邊分享一下。 Optilink雲端報價系統線上說明書: http://optiland.asia/help/index.html 相關文章: [作品]Flex 3.4 + PureMVC 的企業級 RIA 應用