天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

開發"憤怒的小鳥"的Lua語言:Wax框架詳解

  2011年6月的編程語言排行榜Lua語言一軍突起,一舉進入前十名。這與一年前蘋果決定在ios系統上使用Lua語言密不可分。但是,你了解如何用Lua語言在ios上開發應用嗎?這里將向各位介紹Lua語言的ios應用開發框架Wax,其中在ios平臺上無比火爆的《憤怒的小鳥》就是由Lua語言用Wax開發的。全文共分兩部分,第一部分將帶您深入探討Wax具有的一些好處,同時演示把Lua與Xcode 4和ios軟件開發工具包(SDK)集成起來必不可少的實際步驟。第二部分將逐步介紹如何用Wax構建一個簡單的應用程序,顯示Twitter上的當前趨勢話題列表,可以用按鈕來更新內容。

Wax框架及憤怒的小鳥

  Wax是什么?

  Wax for iPhone這種框架在開發時,旨在把Lua腳本語言和原生Objective-C應用編程接口(API)結合起來。這意味著,你可以從Lua里面,使用任何和全部的Objective-C類及框架。

  從技術上來講,Wax結合了Objective-C類和原生C代碼。Lua語言嵌入了C語言,然后Objective-C類并入到其中。

  為什么使用Wax?

  Wax是免費的、開源。與其他一些基于Lua的移動開發解決方案不同,Wax是個開源框架,只需要你花一點點時間就可以上手,不需要花錢。不喜歡Wax的工作方式,或者發現實施方面的缺陷?源代碼可免費獲取,你總是可以改動源代碼,以滿足自己的需要。

  可以利用原生API。這意味著,為教Objective-C而編寫的教程很容易由Lua for Wax來改動和編寫。這還意味著,你的應用程序在外觀感覺上總是如同原生應用程序,不過又得到了用Lua這種高效腳本語言編寫代碼可以節省時間的好處。

  可以使用Xcode。這意味著,模擬器和設備部署都輕而易舉,不會輕易與未來的ios版本決裂。

  可以利用所有現有的Objective-C。如果你有一個Objective-C類是以前編寫的,不需要改動,就可以將它用在Lua中只要把它放入到Xcode。Three20之類的庫也是一樣。只要按照正常指令來添加庫,就可以使用Lua代碼訪問它們。

  可以利用Wax Lua模塊。Wax有幾個內置的Lua模塊,使得異步HTTP請求和JavaScript對象標注(JSON)創建/解析極其容易而快速(因為模塊是用C編寫的)。

  沒必要管理內存。不再需要操心內存分配之類的事務。Wax為你處理這一切。

  Lua類型自動轉換成對應的Objective-C類型,反之亦然。 這意味著,如果你調用了需要NSString和NSInteger的某個方法,但傳送了Lua字符串和Lua整數,Wax會為你搞定轉換工作。這種轉換功能強大,甚至可以處理復雜的Objective-C特性,比如選擇器。

  你可以利用所有上述特性。不需要精挑細選。你獲得所有特性!

  OK,實在太棒了!我該如何安裝Wax?

  首先你需要Xcode和iPhone SDK。要是你還沒有這些東西,趕緊弄一份!

  用Xcode創建項目

  我們先創建一個新的基于Windows的項目,名為WaxApplication。別忘了把設備設置成iPhone:

WaxApplication

WaxApplication

  通過Finder瀏覽到你保存該項目的文件夾。創建三個新的文件夾:wax、scripts和Classes。你的文件夾看起來應該像這樣:

通過Finder瀏覽到你保存該項目的文件夾

  設置Wax(第一部分,處理文件)

  首先,下載源代碼的壓縮包。Wax放在GitHub上(https://github.com/probablycorey/wax),那樣下載源代碼就很容易。從這里下載壓縮包。

  現在,解壓縮剛下載的文件。瀏覽到剛解壓縮的文件夾。它會有probablycorey-wax-124ca46之類的名稱。

  你的屏幕現在看起來應該像這樣:

解壓縮剛下載的文件

  現在,執行下列操作:

  ◆ 拷貝lib和bin文件夾,把它們粘貼到位于WaxApplication項目文件夾里面的wax文件夾。

  ◆ 將xcode-template/Classes/ProtocolLoader.h拷貝到WaxApplication項目文件夾。

  ◆ 拷貝xcode-template/scripts/文件夾,將它放到WaxApplication項目文件夾里面。

  ◆ 打開WaxApplication項目文件夾里面的wax/lib/extensions/文件夾。刪除SQLite和xml文件夾,下圖所示:

你的屏幕

  你的屏幕應該看起來像這樣:

  設置Wax(第二部分,配置項目)

  現在用Finder選擇Classes、scripts和wax文件夾,把它們拖入到Xcode項目中。把它們放到顯示Wax Application和1 target, ios SDK X.X的那個條下方。不要勾選顯示Copy items into destination group’s folder(if needed)的復選框。點擊完成。

  現在點擊顯示Wax Application和1 target, ios SDK 4.3的那個條。接著采取下列步驟:

  ◆ 在右邊窗格中,尋找Targets標題,點擊WaxApplication。點擊Build Phases(構建階段)選項卡。點擊Copy Bundle Resources(復制捆綁資源),清除所有lua文件。

  ◆ 在右下角,先點擊Add Build Phase(添加構建階段),再點擊Add Run Script(添加運行腳本)。

  ◆ 將Shell設成/bin/zsh

  ◆ 將Shell下面的文本區域設成$PROJECT_DIR/wax/lib/build-scripts/copy-scripts.sh。

  你的屏幕現在看起來像這樣:

打開main.m

  改動main.m

  在左邊窗格中,打開名為WaxApplication的文件夾。接下來,打開Supporting Files文件夾。接著,打開main.m,把文件的內容換成如下:

   //這是發生奇跡的地方!
   // Wax并不使用nib文件來裝入主視圖,一切在AppDelegate.lua文件里面完成
   #import <UIKit/UIKit.h>
   #import "wax.h"
   #import "wax_http.h"
   #import "wax_json.h"
   #import "wax_filesystem.h"
   int main(int argc, char *argv[]) {
   NSAutoreleasePool * pool =[[NSAutoreleasePool alloc] init];
    
   wax_start("AppDelegate.lua", luaopen_wax_http, luaopen_wax_json, luaopen_wax_filesystem, nil);
    
   int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");
   [pool release];
   return retVal;
   }

it知識庫開發&amp;quot;憤怒的小鳥&amp;quot;的Lua語言:Wax框架詳解,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 最近日本免费观看MV免费 | 午夜熟女插插XX免费视频 | 亚洲国产精品无码2019 | 色欲AV亚洲午夜精品无码 | 永久adc视频| 国产极品美女视频福利 | 免费观看高清黄页网址大全 | 一一本之道高清视频在线观看中文字幕 | 少男同志freedeos | 久久国产精品麻豆AV影视 | 国产手机在线视频 | 国产国语在线播放视频 | 真人做受120分钟免费看 | 久久综合伊人 magnet | 91国在线啪精品一区 | 成年视频xxxxxx在线 | 九色终合九色综合88 | 动漫AV纯肉无码AV电影网 | 久久4k岛国高清一区二区 | 高清bblxx手机在线观看 | 日日摸夜夜添夜夜爽出水 | 亚洲 欧美 国产在线视频 | 日韩欧美一区二区中文字幕 | 国产亚洲精品首页在线播放 | 国产精品俺来也在线观看 | 91嫩草国产在线观看免费 | 亚洲AV精品无码成人 | 俄罗斯女肥臀大屁BBW | 冠希和阿娇13分钟在线视频 | 一本大道手机在线看 | 99久久精品国产亚洲AV | 十九岁在线观看免费完整版电影 | 国产白丝精品爽爽久久久久久蜜臀 | 虫族bl文全肉高h | 四房色播手机版 | 久久欧洲AV无码精品色午夜麻豆 | 亚洲AV无码专区国产乱码网站 | 奇虎成人网 | 男人国产AV天堂WWW麻豆 | 亚洲春色AV无码专区456 | 男人吃奶摸下挵进去啪啪 |