Corona SDK遊戲開發執行個體(三):處理retina顯示屏

來源:互聯網
上載者:User

今天,我將開始使用新的工具開發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模式模擬器的時候。

最後,我們有了我們的初始視圖並起作用。下一次,我會添加互動。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.