1335030    
在OpenGL,OpenAL,Box2D和Lua頂層被創建,Corona讓您可以開發,使用本地IOS特性原生速度運行的遊戲,如多點觸控,GPS,加速度計,陀螺儀,攝像頭,谷歌地圖,WebKit,以及軟鍵盤。



此外,Corona SDK支援超大量的API,這將讓您為您的遊戲添加很多有趣的功能,如廣告,虛擬貨幣,資料庫等。

在第一步,我會盡力將我的老Flash遊戲Red Flowers 移植到iPhone,將處理iPhone 4的retina顯示模式。

我們會處理兩個不同螢幕尺寸:320 ×480和640× 960。所以,首先要做的就是設計了兩個不同的初始頁面,一個正常的和一個retina增強的iPhone模式。
1335031  


在左側,480 × 320為正常的iPhone上初始視圖,在右側,960 × 640高清retina顯示幕初始視圖。

我把他們保存在一個資料夾,稱他們分別splash.png和splash_hd.png。

請注意,高清圖像和正常圖像的名稱相同,除了_hd尾碼。

現在,最基本的Corona專案有三個檔:build.settings其中包括duild-time屬性, config.lua包含運行時屬性, main.lua這是主檔案本身。

正如你可以看到Lua副檔名,Corona SDK使用的Lua程式設計語言。可能你已經遇到過它,當玩魔獸世界的宏和介面時。無論如何,這並不難,和AS3也沒那麼不同。

讓我們來看看build.settings檔:

settings =
{
orientation =
{
default = "landscapeRight",
},
}
在這裡,我只是設置景觀的方向,因為這遊戲就是橫向模式播放。

這是config.lua檔:

application =
{
content =
{
width = 320,
height = 480,
scale = "letterbox",
imageSuffix =
{
["_hd"] = 2,
},
},
}
另一種簡單而直觀的的設置:我定義了遊戲的高度和寬度,並設置縮放模式為「letterbox」。

這些都是可能的動態縮放設置:

* none - 關閉動態內容縮放

* letterbox - 盡可能均勻縮放內容,同時仍然在螢幕上顯示的所有內容。這是類似的非寬屏電視機上觀看寬屏DVD,你可以使用台下內容填充溢位區域域,而不是顯示黑邊。

* zoomEven – 均勻縮放以填補螢幕,同時保持長寬比。新的螢幕如果有不同的寬高比,有些內容可能會出現螢幕外。

* zoomStretch - 內容非均勻擴展到填滿整個螢幕。所有內容將保持在螢幕上,但它可能會縱向或橫向拉長。

然後,當圖像需要乘以2以匹配設備的解析度,我們定義imageSuffix要使用的尾碼。你還記得_hd尾碼我們添加到我們的高清初始視圖嗎?就是它。

最後,讓我們寫代碼main.lua:

display.setStatusBar(display.HiddenStatusBar)
local bg = display.newImageRect("splash.png",480,320)
bg.x = bg.contentWidth/2
bg.y = bg.contentHeight/2
第1行:隱藏狀態列

第2行:定義一個變數bg,分配給它的解析度低初始螢幕的路徑,跟著是大小。這時圖像會自動顯示,它的起始(中心)與設備的左上頂角對齊。

第3行:根據它的寬度,初始視圖水準中心對齊

第4行:對高度做同樣的事情。

請注意X和Y屬性工作方式同AS3,而contentWidth和contentHeight像AS3的寬度和高度的作用。

一旦所有的檔都保存在同一資料夾,就到了運行在iPhone和iPhone4模式模擬器的時候。
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()