Lua實戰:iOS遊戲開發

Lua實戰:iOS遊戲開發

《Lua實戰:iOS遊戲開發》程語言的相關知識,並著重展現了Lua在iOS平台開發過程中的編程方法。《Lua實戰:iOS遊戲開發》從Lua語言基礎開始,詳細地講解了Lua中的變數、運算符、基礎函式、數學函式、字元串函式、執行緒等基本知識,總結了Lua開發中的特殊之處。此外,還介紹了Corona SDK、Gideros Studio、Moai、L?VE和Codea這幾個框架,為Lua語言在iOS遊戲開發過程中的使用進行了極佳的鋪墊。最後,書中介紹了一些與Lua有關的庫和第三方應用程式,並通過一個複雜的實例全面地總結了書中的知識。 《Lua實戰:iOS遊戲開發》適合對使用Lua iOS下進行遊戲開發感興趣的讀者,也適用於有一定編程基礎,想要深入學習Lua的開發人員。

基本介紹

  • 書名:Lua實戰:iOS遊戲開發
  • 作者:瓦瑪 (Jayant Varma)
  • 類型:計算機與網際網路
  • 出版日期:2014年1月1日
  • 語種:簡體中文
  • ISBN:9787115331755
  • 外文名:Learn Lua for IOS Game Development
  • 譯者:麥稈創智
  • 出版社:人民郵電出版社
  • 頁數:358頁
  • 開本:16
  • 品牌:人民郵電出版社
基本介紹,內容簡介,作者簡介,圖書目錄,

基本介紹

內容簡介

內容全面深入,既深入闡述了Lua語言的核心要素,又全方位地講解了利用Lua進行遊戲開發和設計的各種技術細節、方法和最佳實踐,
作者知名度高,麻省理工學院的工商管理學碩士,同時也是一位資深的IT人士,有超過20年的豐富從業經驗。

作者簡介

Jayant Varma是OZ Apps的執行董事,一家提供移動產品增值策略和移動開發及培訓方面專業服務的澳大利亞諮詢公司。在Mac App Store上好幾款套用都得益於他的功勞。他是麻省理工學院的工商管理學碩士,同時也是一位資深的IT人士,在多個國家的自動化和高等教育等領域有超過20年的豐富經驗。他創辦了AUC(蘋果大學聯合)的iOS開發學習班。他還在部落格上發布相關技術話題來幫助其他的開發者。

圖書目錄

第1章Lua入門
1.1什麼是Lua
1.2Lua歷史
1.3Lua大事記
1.4上手Lua
1.5配置Lua
1.5.1線上LuaShell
1.5.2Windows、MaxOSX和*nix
1.5.3iOS
1.6Lua特性
1.6.1變數
1.6.2用變數實現HelloWorld
1.6.3字元串
1.6.4數字
1.6.5值和類型
1.6.6塊和作用域
1.7Lua運算符
1.7.1算術運算符
1.7.2關係運算符
1.7.3邏輯運算符
1.7.4其他運算符
1.8總結
第2章Lua庫
2.1基礎函式
2.1.1assert(v(,message))
2.1.2collectgarbage((opt(,arg)))
2.1.3dofile((filename))
2.1.4error(message(,level))
2.1.5_G
2.1.6getfenv((f))
2.1.7getmetatable(object)
2.1.8ipairs(t)
2.1.9load(func(,chunkname))
2.1.10loadstring(string(,chunkname))
2.1.11next(table(,index))
2.1.12pairs(t)
2.1.13pcall(f,arg1,…)
2.1.14print(…)
2.1.15rawequal(v1,v2)
2.1.16rawget(table,index)
2.1.17rawest(table,index,value)
2.1.18select(index,…)
2.1.19setfenv(f,table)
2.1.20setmetatable(table,metatable)
2.1.21tonumber(e(,base))
2.1.22tostring(e)
2.1.23type(v)
2.1.24unpack(list(,i(,j)))
2.1.25_VERSION
2.1.26xpcall(ferr)
2.2系統函式館
2.2.1表函式
2.2.2系統函式
2.3表(Tables)概述
2.3.1數組表
2.3.2關聯數組表
2.4函式:進階
2.4.1對象表
2.4.2.和:的區別
2.5小結
第3章檔案操作
3.1隱式函式
3.1.1io.close((file))
3.1.2io.flush()
3.1.3io.input((file))
3.1.4io.lines((filename))
3.1.5io.open(filename(,mode))
3.1.6io.output((file))
3.1.7io.read(…)
3.1.8io.tmpfile()
3.1.9io.type(obj)
3.1.10io.write(…)
3.2顯式函式
3.2.1file:close()
3.2.2file:flush()
3.2.3file:lines()
3.2.4file:read((format))
3.2.5file:seek((whence)(,offset))
3.2.6file:setvbuf(mode(,size))
3.2.7file:write(…)
3.3在遊戲中使用檔案I/O
3.4保存變數
3.5獲取數據
3.5.1代碼分析
3.5.2潛在問題
3.6變數存儲數據
3.6.1代碼分析
3.6.2潛在問題
3.7數據寫入檔案
3.8存儲表
3.9動態變數
3.10小結
第4章Lua數學函式
4.1Lua數學函式簡介
4.1.1math.abs(x)
4.1.2math.acos(x)
4.1.3math.asin(x)
4.1.4math.atan(x)
4.1.5math.atan2(y,x)
4.1.6math.ceil(x)
4.1.7math.cos(x)
4.1.8math.cosh(x)
4.1.9math.deg(x)
4.1.10math.exp(x)
4.1.11math.floor(x)
4.1.12math.fmod(x,y)
4.1.13math.frexp(x)
4.1.14math.huge
4.1.15math.ldexp(m,e)
4.1.16math.log(x)
4.1.17math.log10(x)
4.1.18math.max(x,…)
4.1.19math.min(x,…)
4.1.20math.modf(x)
4.1.21math.pi
4.1.22math.pow(x,y)
4.1.23math.rad(x)
4.1.24math.random((m(,n)))
4.1.25math.randomseed(x)
4.1.26math.sin(x)
4.1.27math.sinh(x)
4.1.28math.sqrt(x)
4.1.29math.tan(x)
4.1.30math.tanh(x)
4.2在遊戲中套用數學函式的實例
4.2.1賦值
4.2.2遞增與遞減
4.2.3引入坐標點
4.2.4條件分支
4.2.5拋硬幣
4.2.6擲骰子
4.2.7使用標記位(Flag)
4.2.8多種標記位
4.2.9利用數學函式實現循環
4.2.10在遊戲中引入格線
4.2.11移動角色
4.3邏輯運算函式
4.4小結
第5章字元串
5.1什麼是字元串
5.1.1string.byte(s(,i(,j)))
5.1.2string.char(…)
5.1.3string.dump(funtion)
5.1.4string.find(s,pattern(,init(,plain)))
5.1.5string.format(formatString,…)
5.1.6string.gmatch(s,pattern)
5.1.7string.gsub(s,pattern,repl(,n))
5.1.8string.len(s)
5.1.9string.lower(s)
5.1.10string.match(s,patterns(,init))
5.1.11string.rep(s,n)
5.1.12string.reverse(s)
5.1.13string.sub(s,i(,j))
5.1.14string.upper(s)
5.2模式
5.2.1字元類
5.2.2模式項
5.2.3模式
5.2.4捕獲
5.3使用字元串函式
5.3.1將字元串轉化為大寫
5.3.2將字元串轉化為小寫
5.3.3將字元串轉化為首字母大寫
5.3.4填充字元串
5.3.5CSV功能
5.3.6用千位分隔設定規範數字的格式
5.3.7字母頻率
5.3.8判斷回文字元串
5.3.9分割字元串
5.4關卡管理
5.5小結
第6章執行緒
6.1協同執行緒
6.1.1協同執行緒函式
6.1.2創建協同執行緒
6.2表
6.2.1自定義元表
6.2.2實際例子
6.3Lua面向對象
6.4什麼是對象
6.5小結
第7章技巧提示
7.1通用Lua函式
7.1.1使用printf函式
7.1.2計算表中元素的數量
7.1.3使用IsEmpty
7.1.4獲取元素索引
7.1.5判斷一個表是否是數組
7.1.6設定默認值
7.1.7複製表
7.1.8深度複製
7.1.9複製數組部分
7.1.10複製非數組部分
7.1.11合併兩個表
7.1.12判斷表是否包含特定值
7.1.13找出Table之間的差異
7.1.14表作為返回值
7.1.15表內元素排序
7.1.16判斷表中特定項的頻度
7.1.17轉換數字為羅馬數字
7.1.18創建鍊表
7.1.19擴展標記變數
7.1.20字元串補零
7.1.21獲取字元類型的月份
7.1.22像數組一樣訪問字元串
7.1.23測量一維或二維中兩點間距
7.1.24判斷兩點的夾角
7.1.25限定數字範圍
7.1.26線性插值法
7.1.27獲取值的標識符
7.2碰撞
7.2.1使用isPointlnRect
7.2.2使用pointlnCircle
7.2.3判斷一個矩形是否包含另一個矩形
7.2.4判斷一個圓形是否包含另一個圓形
7.2.5識別重疊矩形
7.2.6識別重疊圓形
7.2.7判斷一個圓形和一個矩形是否重疊
7.2.8使用pointlnTriangle
7.2.9使用pointlnPolygon
7.3其他通用函式
7.3.1布爾值比較
7.3.2將C/Java循環代碼轉換為Lua
7.3.3套用物體摩擦力
7.3.4模擬一個玩偶盒
7.3.5正弦滾動條
7.3.6在面板的單行或單列放置唯一圖塊
7.3.7利用數組輸出大規模模板文本
7.4參數處理
7.4.1固定參數
7.4.2動態參數
7.4.3動態名稱參數
7.4.4使用可變參數
7.4.5解析傳入參數列表
7.4.6生成唯讀Table
7.4.7實現堆疊
7.4.8參數和表之間的轉換
7.5二維矢量
7.6小結
第8章CoronaSDK
8.1配置CoronaSDK
8.2CoronaSDK工作原理
8.3CoronaSDKHelloWorld
8.3.1圖像版本
8.3.2HelloWorld
8.3.3設備顯示HelloWorld
8.4不僅僅是HelloWorld:在螢幕上創建一個矩形
8.4.1群組
8.4.2圖像
8.4.3事件驅動
8.4.4觸屏輸入
8.4.5物理特性
8.5一切都是計時
8.5.1幀
8.5.2實現生命條
8.6利用enterFrame實現動畫
8.6.1再說生命條
8.6.2使用transition函式
8.6.3移除螢幕中的對象
8.7製作音效
8.7.1發出聲音
8.7.2加工聲音
8.8視頻處理
8.9實現一個電梯
8.9.1放大視圖
8.9.2其他事件
8.9.3使用地圖
8.10瀏覽器
8.11對象回收
8.12企業版本
8.13小結
……
第9章GiderosStudio
第10章Moai
第11章LOVE
第12章Codea
第13章庫
第14章第三方應用程式
第15章示例代碼

相關詞條

熱門詞條

聯絡我們