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

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

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

Wax框架及憤怒的小鳥

  Wax是什么?

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

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

  為什么使用Wax?

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

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

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

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

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

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

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

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

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

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

  用Xcode創(chuàng)建項目

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

WaxApplication

WaxApplication

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

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

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

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

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

  你的屏幕現(xiàn)在看起來應該像這樣:

解壓縮剛下載的文件

  現(xiàn)在,執(zhí)行下列操作:

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

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

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

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

你的屏幕

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

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

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

  現(xiàn)在點擊顯示W(wǎng)ax Application和1 target, ios SDK 4.3的那個條。接著采取下列步驟:

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

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

  ◆ 將Shell設成/bin/zsh

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

  你的屏幕現(xiàn)在看起來像這樣:

打開main.m

  改動main.m

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

   //這是發(fā)生奇跡的地方!
   // 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知識庫開發(fā)&amp;quot;憤怒的小鳥&amp;quot;的Lua語言:Wax框架詳解,轉載需保留來源!

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

主站蜘蛛池模板: YELLOW日本动漫高清免费 | 野花日本大全免费观看3中文版 | 亚洲精品久久久午夜福利电影网 | 国产精品人妻无码久久久蜜桃臀 | 天上人间影院久久国产 | 含羞草影院AE在线观看 | 男人国产AV天堂WWW麻豆 | 影音先锋亚洲AV少妇熟女 | 亚洲精品成人A8198A片漫画 | 亲胸吻胸添奶头GIF动态图免费 | 怪物高h粗暴无尽 | 亚洲国产精品无码中文字满 | 日韩AV成人无码久久精品老人 | 午夜dj影院视频观看 | 日韩精品 电影一区 亚洲高清 | 国产av免费观看日本 | 免费看到湿的小黄文软件APP | 欧美另类一区 | 热巴两次用约老师屁股发底线球 | 亚洲激情网站 | 粉色视频午夜网站入口 | 俄罗斯18xv在线观看 | 2021全国精品卡一卡二 | 国产精品亚洲高清一区二区 | 性一交一无一伦一精一品 | 美女被j进去动态 | 亚洲乱妇88网| QVOD理论| 精品免费久久久久久成人影院 | 中文字幕永久在线观看 | 精品国产福利一区二区在线 | 亚洲综合网国产精品一区 | 黑色丝袜美腿美女被躁翻了 | 国产乱人伦AV麻豆网 | 青青草原免费在线 | 国产亚洲精品第一区香蕉 | 老师的脚奴 | 999久久久国产精品蜜臀AV | 久久精品综合网中文字幕 | 国产网红主播精品福利大秀专区 | 女人一级毛片免费视频观看 |