今天,我將開始使用新的工具開發iPhone遊戲:Corona SDK
在OpenGL,OpenAL,Box2D和Lua頂層被建立,Corona讓您可以開發,使用本地IOS特性原生速度啟動並執行遊戲,如多點觸控,GPS,加速度計,陀螺儀,網路攝影機,Google地圖,WebKit,以及軟鍵盤。
此外,Corona支援超大量的API,這將讓您為您的遊戲添加很多有趣的功能,如廣告,虛擬貨幣,資料庫等。
在第一步,我會儘力將我的老Flash遊戲Red Flowers 移植到iPhone,將處理iPhone 4的retina顯示模式。
我們會處理兩個不同螢幕尺寸:320 ×480和640× 960。所以,首先要做的就是設計了兩個不同的初始頁面,一個正常的和一個retina增強iPhone模式。
在左側,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檔案:
在這裡,我只是設定景觀的方向,因為這遊戲就是橫向模式播放。
這是config.lua檔案:
另一種簡單而直觀的的設定:我定義了遊戲的高度和寬度,並設定縮放模式為“letterbox”。
這些都是可能的動態縮放設定:
* none - 關閉動態內容縮放
* letterbox - 儘可能均勻縮放內容,同時仍然在螢幕上顯示的所有內容。這是類似的非寬屏電視機上觀看寬屏DVD,你可以使用台下內容填充溢出地區,而不是顯示黑邊。
* zoomEven – 均勻縮放以填補螢幕,同時保持長寬比。新的螢幕如果有不同的寬高比,有些內容可能會出現螢幕外。
* zoomStretch - 內容非均勻擴充到填滿整個螢幕。所有內容將保持在螢幕上,但它可能會縱向或橫向拉長。
然後,當映像需要乘以2以匹配裝置的解析度,我們定義imageSuffix要使用的尾碼。你還記得_hd尾碼我們添加到我們的高清初始視圖嗎?就是它。
最後,讓我們寫代碼main.lua:
第1行:隱藏狀態列
第2行:定義一個變數bg,分配給它的解析度低啟動顯示畫面的路徑,跟著是大小。這時映像會自動顯示,它的起始中心)與裝置的左上頂角對齊。
第3行:根據它的寬度,初始視圖水平中心對齊
第4行:對高度做同樣的事情。
請注意X和Y屬性工作方式同AS3,而contentWidth和contentHeight像AS3的寬度和高度的作用。
一旦所有的檔案都儲存在同一檔案夾,就到了運行在iPhone和iPhone4模式模擬器的時候。
最後,我們有了我們的初始視圖並起作用。下一次,我會添加互動。