目錄
譯者序
序
前言
致謝
第1章游戲開發(fā)入門
1 1越來越復雜的開發(fā)過程
1 2更好的開發(fā)方式
1 3為什么使用Lua
1 4本章小結
第2章腳本語言
2 1腳本語言簡介
2 2Lua簡介
2 2 1Lua的歷史
2 2 2Lua授權
2 3本章小結
第3章游戲開發(fā)世界的Lua語言
3 1腳本語言和游戲
3 2游戲項目中的Lua
3 2 1游戲界面
3 2 2管理游戲數(shù)據
3 2 3事件處理
3 2 4保存和讀取游戲狀態(tài)
3 2 5人工智能
3 2 6快速構建原型
3 3本章小結
第4章Lua入門
4 1使用Lua控制臺
4 2Lua基礎
4 3變量
4 3 1nil
4 3 2Boolean
4 3 3string
4 3 4Number
4 3 5table
4 3 6局部變量和全局變量
4 4運算符
4 4 1算術運算符
4 4 2關系運算符
4 4 3邏輯運算符
4 5控制結構
4 5 1if
4 5 2while和repeat
4 5 3for
4 5 4break
4 6本章小結
第5章深入學習Lua
5 1函數(shù)
5 1 1單一參數(shù)
5 1 2多個參數(shù)
5 1 3返回值
5 2標準庫
5 2 1assert(myValue)()
5 2 2dofile(filename)
5 2 3math floor()
5 2 4math random()
5 2 5math min()
5 3字符處理
5 3 1類型轉換
5 3 2string char(n1,n2, )
5 3 3string len(myString)
5 3 4string sub(myString,
start,end)
5 3 5string format()
5 3 6string find(sourceString,findString)
5 3 7字符和格式
5 4table數(shù)據結構
5 4 1table getn(myTable)
5 4 2table insert(myTable,position,value)
5 4 3table remove(myTable,position)
5 4 4table引用
5 4 5多維table
5 4 6pairs()
5 5I/O基礎
5 6本章小結
第6章Lua與C/C++程序的整合
6 1初期設計要點
6 1 1Lua環(huán)境
6 1 2LuaGlue函數(shù)
6 2基本實現(xiàn)方式
6 2 1創(chuàng)建Lua運行環(huán)境
6 2 2添加LuaGlue函數(shù)
6 2 3命令處理
6 2 4退出程序
6 2 5cLua對象和LuaLib
6 2 6使用cLua的例子
6 2 7LuaGlue函數(shù)的優(yōu)點
6 2 8LuaGlue函數(shù):參數(shù)和返回值
6 3本章小結
第7章Lua與C++的交互
7 1重新審視LuaGlue函數(shù)
7 2C++代碼和Lua的交互
7 3事件驅動的編程
7 3 1示例事件
7 3 2事件的參數(shù)
7 4錯誤處理
7 5本章小結
第8章開發(fā)準備
8 1Visual C++ 6 0工作區(qū)
8 2DirectX基礎
8 3LuaGUI簡介
8 3 1啟動GUI
8 3 2界面
8 3 3界面控件
8 3 4事件
8 3 5與GUI系統(tǒng)相關的LuaGlue函數(shù)
8 3 6Shell程序的擴展
8 4調試窗口
8 5Windows注冊表
8 6本章小結
第9章設計Lua版本的實現(xiàn)
9 1游戲設計原則
9 1 1什么是游戲
9 1 2了解玩家的想法
9 2基礎庫設定
9 3設計文檔
9 4Lua編程規(guī)范
9 5本章小結
第10章使用Lua處理游戲數(shù)據
10 1簡單的游戲數(shù)據
10 1 1太空飛船的例子
10 1 2《Take Away》的玩家飛船
10 1 3敵艦數(shù)據
10 1 4補給箱數(shù)據
10 2大數(shù)據集
10 2 1表單型數(shù)據
10 2 2Lua格式的數(shù)據文件
10 3使用Lua保存游戲數(shù)據
10 3 1案例1——《Frontrunner》
10 3 2案例2——健身大亨
10 4本章小結
第11章Lua驅動的GUI
11 1GUI系統(tǒng)概要
11 2GUI的C++類
11 2 1GUI控件:Sprite
11 2 2GUI控件:TextField
11 2 3GUI控件:Button
11 2 4界面
11 2 5GUI管理器
11 3GUI LuaGlue函數(shù)
11 4進一步的說明
11 5Lua游戲界面
11 5 1界面設計原則
11 5 2快速創(chuàng)建界面
11 5 3載入界面
11 5 4主菜單界面
11 5 5Controls界面
11 5 6InGame界面
11 6本章小結
第12章Lua游戲編程
12 1游戲主循環(huán)
12 2井字棋
12 2 1游戲的初始化
12 2 2游戲回合處理
12 2 3模擬游戲回合
12 3《Take Away》游戲的實現(xiàn)原理
12 3 1InGame
12 3 2使用計時器
12 3 3玩家操作
12 3 4子彈運動
12 3 5飛船移動
12 3 6繪制活動的物體
12 4本章小結
第13章使用Lua定義和控制AI
13 1智能的體現(xiàn)
13 221點游戲
13 3井字棋
13 4《Take Away》游戲的實現(xiàn)
13 4 1掠奪艦
13 4 2攻擊艦
13 4 3沖擊艦
13 4 4混合艦
13 4 5控制飛行方向
13 4 6碰撞檢測
13 5其他AI的例子
13 5 1靜態(tài)追蹤
13 5 2近距離追蹤
13 5 3動態(tài)追蹤
13 5 4預判型追蹤
13 5 5炮塔攻擊
13 5 6躲避攻擊
13 5 7防御性射擊
13 5 8攻擊傷害
13 6有限狀態(tài)機
13 7路徑尋找
13 7 1算法概要
13 7 2路徑尋找示例
13 7 3Lua實現(xiàn)
13 8本章小結
第14章Lua和圖像
14 1運行繪圖示例
14 1 1指紋示例
14 1 2爆炸示例
14 2線性移動
14 2 1GetCollisions函數(shù)
14 2 2HitTest函數(shù)
14 2 3進一步的說明
14 3碰撞檢測
14 3 1LuaGlue函數(shù)SetTexture
14 3 2坦克示例
14 42D粒子系統(tǒng)
14 5本章小結
第15章最后說明
15 1添加音效和音樂
15 1 1LuaGlue函數(shù)PlaySound
15 1 2音樂
15 2使用編輯器
15 3調試Lua腳本
15 3 1通用原則
15 3 2調用DoFile函數(shù)
15 3 3Lua 錯誤消息
15 3 4使用實時調試窗口
15 3 5使用文本框
15 3 6使用文件輸出
15 4資源管理
15 4 1資源的組織
15 4 2運行時的文件夾
15 5發(fā)布Lua代碼
15 6許可證
15 7進一步的說明
15 8本章小結