[注意事項] Corona 已改名為 Solar2D。
在本文中,我們藉由簡易的 Hello World 範例來熟悉開發 Solar2D 應用程式的過程,也會一併說明 Solar2D 應用程式的專案架構。
啟動 Solar2D 模擬器時,會進入專案管理的儀表板:
在儀表板左下方的 Quick Links 區塊中,有 Demos (範例) 的連結,這是 Solar2D 官方的範例程式。由於 Solar2D 算是相對冷門的軟體,透過官方範例學習也是相當重要的。讀者可自行尋找所需的範例,本系列文章不重覆說明這些範例。
點選 New Project 即可建立新的專案:
在這個例子中,我們建立 blank (空白) 應用程式,這種專案不會有額外的樣板程式碼,由程式人自行加入所需的程式碼。如果讀者想用其他類型的專案也可以,基本上只是起始的樣板程式碼略有不同,但都可以事後再修改。
回到本文的範例程式,由於此專案有多個檔案,我們將完整的專案範例放在這裡,讓讀者更容易追蹤程式碼,本文僅節錄部分內容。
以程式碼來說,Solar2D 專案主要有三個檔案:
- main.lua :主程式的起始點
- config.lua :專案設定檔
- (選擇性) build.settings :編譯 Solar2D 應用程式時所用的設定
這三個檔案的名稱是固定的,勿隨意更改。
本範例程式的示意圖如下:
{{< figure src="/img/corona-sdk/helloworld.png" alt="Solar2D 的 Hello World 程式" class="phone" >}}
其實只有一行 "Hello Corona" 文字而已,本範例只是要讓讀者熟悉開發流程,所以範例儘量簡化。
以本範例來說,實際的程式碼皆位於 main.lua ,其內容如下:
-- Set background color to beige.
display.setDefault("background", 245 / 255, 245 / 255, 220 / 255)
-- Set some text.
local text = display.newText({
text = "Hello Corona",
x = display.contentCenterX,
y = display.contentCenterY,
fontSize = 24,
align = "center"
})
-- Set text color to black.
text:setFillColor(0 / 255, 0 / 255, 0 / 255)
在本範例中,這個程式只有三行指令。第一條指令將程式背景設為米白色 (beige),在 Solar2D 應用程式中,顏色採 RGB 記錄,但採用小數點;相對於這個特性,本處刻意使用 245 / 255
的寫法,日後要修改顏色時不需再按計算機,只要改數字即可。
第二條指令建立一個 Text
物件,該物件用來表示靜態的文字。在建立物件時,我們要傳入一個 Lua 表 (table) 做為參數,有關該參數的詳細說明,請看這裡。這種有關 API 使用的東西不要死背,也不要太依賴網路上的教程 (包括本文),要習慣查官方 API 文件,畢竟官方文件是最權威的說明,而線上教程有可能會過時。
不過,我們還是說明一下,此處的 text
物件的 x
和 y
是對應到物件的中心點。在 Solar2D 程式中,大部分物件的錨點 (anchor) 是在中心點,部分物件可將錨點設到左上角,需自行查閱 API 文件來確認。
最後一條指令則是用來修改 text
物件的顏色,我們用同樣的方法來標記顏色。如果讀者不知道怎麼查 RGB 顏色的話,可以上網找一些 RGB 色盤,像是這個。由於 RGB 色盤可用的數量繁多,將其全部列出會占掉過多篇幅,這種東西同樣也是要自行試出喜歡的配色。
在本程式中,我們只有單一的 main.lua 命令稿,有些多頁面的程式,可藉由 composer 套件來轉移頁面,我們將於後文中展示這類範例。
至於 config.lua 和 build.setting 則較偏向設定檔,此處暫保持預設值。有興趣的讀者可到相關頁面查詢如何更改相關設定。此外,還有一些圖標等靜態 assets,也是先暫時保留預設值,暫時不用去更動其內容。