Corona開發5分鐘入門教程

來源:互聯網
上載者:User

關於Corona

如果你正在做iOS應用,或者關注過iOS開發,那麼一定聽說過Corona這個名字。

在蘋果修改了app稽核原則,允許使用第三方語言開發應用之後,Corona,這個曾經只能在破解系統上玩一玩的項目終於被更多人所關注,售價也從99美元漲到了299美元,當然現在又降到了149美元.不過看看他長長的Showcase列表就不難發現,這也確實是一個值得關注的引擎。

簡單來說,使用Corona的優勢主要有這麼幾點:

◆不需要使用複雜的Objective-C,不需要經曆繁瑣的編譯過程,使用更加簡單的,解釋型的Lua語言來開發應用

◆可以用你的Windows PC來開發iOS應用,當然如果要發布到AppStore還是需要一台iMac或MacBook (Pro)

◆iOS與Android平台的完美融合,應用移植不再是噩夢

◆豐富的API以及第三方庫的整合,讓應用開發變得更加簡單快捷

開發方法

如果你已經下載安裝了Corona SDK,那麼應該也注意到了,在CoronaSDK目錄下只有一個Corona Simulator和一個Terminal,還有一個debuger,沒有編輯器。是的,Corona的開發還是主要信賴於代碼編寫,當然在Corona網站的Tools裡能夠找到圖形化的開發工具,也可以嘗試一下。

運行模擬器的方法也有三種:

◆直接運行Corona Simulator,一般在示範運行app的時候使用,你將看不到任何列印出來的錯誤資訊

◆運行Corona Terminal,這是日常開發最常用的方法,它將會開啟模擬器,同時會出現一個終端視窗用於顯示列印的調試資訊和錯誤資訊

◆運行debugger,這將會開啟模擬器和一個帶互動功能的終端,在需要調試時使用,當然你需要熟悉gdb之類的調試工具

當模擬器運行起來的時候,從File — Open找到你需要測試的app的main.lua並開啟,這時在模擬器視窗上會出現app畫面,同時終端視窗會出現列印資訊。就像這樣:

Hello World

學習的最好方法是實踐,所以讓我們從最簡單的一個例子開始,建立一個app。是的,所有的例子都是從“世界你好!”開始的。

使用一個你最喜歡的文字編輯器,建立一個文字檔,敲入以下內容

 
  1. print("Hello World") 

然後把檔案儲存 為main.lua,注意app的主檔案必須是main.lua,最好是把這個app的所有相關檔案放到一個單獨的目錄下。一般情況下每個app都應該有其獨立的目錄,比如這裡我們就叫他Sample1。

然後按照上面所說的,在Corona Simulator中File –> Open找到剛剛儲存的main.lua檔案並開啟,如果一切順利的話,你將什麼也看不到。是的,什麼也看不到!不過你要是通過Simulator開啟的模擬器,那麼在終端視窗裡還是能夠看到些東西,就像下面這樣:

那個Hello World就是我們剛剛輸出的。

Simulator vs Terminal

剛剛我們的print(“Hello World”)語句確實產生了作用,不過這顯示不是我們所要的效果,我們希望的是能夠在app裡輸出一行文字,但是現在到了終端視窗裡面。那麼,模擬器與終端有什麼區別呢?

簡單來說,終端視窗主要是用來輸出調試/警告/錯誤資訊用的,雖然在這正式的app裡看不到,但對於我們的開發階段還是很有用的,我們不需要使用複雜的debugger就能夠瞭解程式現在啟動並執行怎麼樣了。

Hello World on the Simulator

如果要在模擬器介面上輸出文本,我們需要另外的函數,這些函數都來自於 Corona graphics library。

在這裡,我們可以這樣做:

 
  1. local textObject = display.newText("Hello World", 50, 50, nil, 24) 
  2.  
  3. textObject:setTextColor(255,255,255) 

再次在模擬器上運行一下這個程式,你將會看到下面的結果:

是的,這正是我們想要的。關於上面兩行代碼的細節就不過多描述,如果你是一個程式員,這沒有什麼難的,如果你不是,好吧,lua語言確實不怎麼難。

需要注意一下的是display.newText和textObject:setTextColor,這兩個函數調用,一個用的是.號,一個用的是:號,這是lua語言的兩種函數調用方式,或者說:號調用其實是.調用的文法簡化形式,具體的描述還是需要通過lua手冊來瞭解。

使用Corona SDK的一個好處,或者說是使用lua這類動態語言的一個好處就是你可以很方便的看到修改後的效果,而不需要像Objective-C那樣經曆編譯-連結過程。當你修改了main.lua檔案,儲存它,這時Simulator會主動提醒你檔案已更新,是否需要重新載入,選“是”就能立即看到修改後的效果。當然,你也可以在運行過程中主動要求重新載入app,使用Command -R即可,不需要等待編譯,也不需要關閉模擬器再重新開啟。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.