Picture
那就來說說關於Corona SDK 的事情吧。

首先,想下載的請按這

歷史由來什麼我就不說了, 簡單來說, 它是一個用LUA這種語言來製作APPS 的Software Development Kit (SDK), 即開發APPS用的軟件。由於是第三方語言 (即不是本來開發IOS, ANDROID時用的Objective C 和JAVA), 所以難免有些限制, 這些限制會慢慢提及,不過首先注意CORONA是不適用於開發3D遊戲或APPS的, 如果想做3D GAME的話聽說可以試試Unity 3D, 那個我不太懂, 遲下再說。

下載及安裝應該不算很難, 我的版本是windows 上運行的2013.1076 (2013.4.3), 安裝後會有一個Corona Simulator 的圖示, 開啟後會有出現歡迎畫面和一個黑色的Terminal (或叫Corona Simulator Output)。歡迎頁上有New Project 和Simulator 兩個主要選項, 按New Project 就會能選Project 的Location 和能夠選擇Template, 一般新開始都應該選這個。而Simulator 則是開啟舊檔之類的東西。 這裏我們先按New Project。之後會彈出一個視窗讓你填Apps Name, Project Folder 和Template 類型, 設定好存放Project Folder 的位置後請選Blank開啟空白的檔案。Corona 會自動生成一個Main.lua, 一個Config.lua和一個Build.setting的檔案。然後你會發現會有一個電話形狀的模擬器出現。
Picture
main.lua 是最主要的檔案, 如果上面選擇Simulator而不是New Project 的話, 將要開啟的便會是不同Project 的main.lua。注意Corona 並沒有自帶一個編輯器, 所以你需要有自己的工具, windows 的我推薦用Notepad++ (請按這裏下載)。

Config.lua是用來修改你的Apps 如何配合不同機種的螢幕呎吋的檔案 (例如IPhone, IPhone 4, IPhone 5...), 那個我會在之後再提到。

至於build.settings 則有更多的設定可以改, 例如說Android 上apps 可取得的權限或是橫向 / 直向的設定等等。

Picture
那, 首先來說說如何在corona 中畫基本的東西。

用你的編輯器(我是用Notepad++)開啟剛剛生成的main.lua。你會看到一些預設的綠色字句, 先把那些東西刪掉 (不刪也可)。

我們先試畫一個正方形。

在main.lua中輸入:

local rect = display.newRect(0,0,100,100)
rect:setFillColor(255,255,255)


然後按Ctrl + S 儲存, 再在模擬器的畫面按 Ctrl + R (Relaunch) 重置畫面, 便會得出左面的畫面。(也許你會有status bar, 而且沒有上面那行空間, 這個遲下再說明)

來簡單解說下:

local rect = display.newRect(0,0,100,100)
local 是指後面的物件是一個local 屬性的物件 (這裏指後面的rect)
而rect就是你定義的這個物件(或是variable, 但在lua中所有東西都可以當成一件物件) 的名字。
display.newRect( )則是建立一個方形的語法, ( ) 裏面是這個方形的不同屬性。屬性簡單來說如下:
display.newRect(方形左上角的x坐標, 圖形左上角的y坐標, 圖形的長度, 圖形的闊度)
所以在畫面上 (0,0) (就是畫面的最左上角)的那一點便會出現一個邊長 100 px 的正方形, 而那一個正方形的左上角便在(0,0)那一點上。

rect:setFillColor(255,255,255)
rect 就是剛剛你定義的那個物件。" :"  在lua中就是代表在這件物件上使用某些方法, 而":"後的 setFillColor( )就是將圖形改變顏色的方法。( ) 中的 255, 255, 255 分別代表 Red, Green, Blue,  改變這些數值會改變出現的頻色(而255,255,255就是白色)。這試一下自己改變這些數值, 如找不到顏色的RGB 碼可以試試這個網站。全句的意思是將rect 這個物件的顏色變作白色。


所以最後看到的便是在左上角出現了一個白色的正方形。

Picture
然後, 我們加幾句語法來令這個正方形移至畫面的中央:

rect.x = display.contentWidth/2
rect.y = display.contentHeight/2


rect.x / rect.y 分別是指rect這個物件的正中央 的x/y坐標, 注意這次不是左上角! 在 一開始定義物件時的x, y是物件左上方的座標, 而在後面再另外定義的x, y則是物件正中央的座標

而display.contentWidth / display.contentHeight則是指瑩幕的闊和高。

所以, 上面兩句的意思便是, rect這個物件的x座標的值是螢幕闊度除2, 而y座標則是螢幕的高度除2, 如此一來rect便會出現在螢幕的正中間了。

由於要配合不同機種的螢幕, 所以我認為盡量利用display.contentWidth / Height來定義物件的位置比直接輸入一個坐標是更好的方法。

有點累0.0 明天去日本, 回來繼續寫~






Leave a Reply.

    Author

    This blog is a diary of learning apps writing, or game developing, or CG drawing, or anything i am interested in.
    這是我學寫APPS的日誌, 不過我會將其他不相干的東西都放進去, 例如畫ACG之類~總之就是我有興趣寫的東西啦...

    Archives

    May 2013

    Categories

    All
    Corona教學