Lua遊戲開發實踐指南

Lua遊戲開發實踐指南

《Lua遊戲開發實踐指南》是2013年機械工業出版社出版的圖書,作者是Paul Schuytema、Mark Manyen。

基本介紹

  • 中文名:Lua遊戲開發實踐指南
  • 作者:Paul Schuytema、Mark Manyen 
  • 譯者:田劍
  • 出版時間:2013年1月
  • 出版社:機械工業出版社
  • ISBN:9787111403357 
內容簡介,作者簡介,圖書目錄,

內容簡介

Lua語言於1993年誕生於巴西里約熱內盧,至今已整整有20年歷史。Lua設計的初衷是為了將用它編寫的程式嵌入到其他應用程式中,以便於為整個應用程式提供靈活的擴展和定製功能。它不是為遊戲開發而生的,但是如今遊戲開發卻在Lua未來的發展方向上扮演著核心的角色。它具有簡單、體積小、容易嵌入其他程式中、可移植性強、運行效率高等一系列對於遊戲開發來說都十分重要的特性,是遊戲開發領域中最核心的腳本語言之一。
本書的兩位作者在遊戲開發領域工作十餘載,專注於遊戲開發中的Lua腳本編寫,成功開發了大量的經典遊戲,積累了豐富的實戰經驗,本書是他們經驗和智慧的結晶。它完美地展示了在遊戲開發和設計中使用Lua的各種技術細節以及常用的方法與技巧,同時包含大量可操作性極強的實例,無論你是有一定Lua基礎的遊戲開發者,還是Lua的初學者,本書都能讓你領略到Lua的強大魅力。
本書主要內容和特色:
Lua語言的基本語法、核心要素,以及編程規範;
Lua與C++的整合和互動;
使用Lua處理遊戲數據;
Lua驅動的GUI設計與開發;
使用Lua定義和控制AI;
Lua在圖形繪製和圖像處理方面的強大功能;
使用Lua為遊戲添加多媒體效果;
Lua腳本的調試;
Lua程式的資源管理和Lua代碼的發布;
完整且富有趣味的Lua遊戲開發實例;
……

作者簡介

Paul Schuytema 資深遊戲開發專家兼Lua開發工程師,在遊戲開發領域研究和實踐10餘年,積累了豐富的經驗。曾經在過去的10屆全球遊戲開發大會(GDC)中發表過重要演講,在遊戲開發領域頗有影響力。他設計並開發了20餘款經典的遊戲,發表了200多篇與遊戲開發相關的專業文章,而且他還是多本書籍的作者或合著者。
Mark Manyen 資深遊戲開發專家兼Lua開發工程師,Magic Lantern的技術總監,在超過25款遊戲中指導並使用了該技術。他在Magic Lantern's J5 技術套件中引入了Lua,並且開發了所有與J5代碼庫相關聯的“Lua Glue”函式。

圖書目錄

譯者序
前言
致謝
第1章遊戲開發入門
1.1越來越複雜的開發過程
1.2更好的開發方式
1.3為什麼使用Lua
1.4本章小結
第2章腳本語言
2.1腳本語言簡介
2.2Lua簡介
2.2.1Lua的歷史
2.2.2Lua授權
2.3本章小結
第3章遊戲開發世界的Lua語言
3.1腳本語言和遊戲
3.2遊戲項目中的Lua
3.2.1遊戲界面
3.2.2管理遊戲數據
3.2.3事件處理
3.2.4保存和讀取遊戲狀態
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函式
5.1.1單一參數
5.1.2多個參數
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數據結構
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環境
6.1.2LuaGlue函式
6.2基本實現方式
6.2.1創建Lua運行環境
6.2.2添加LuaGlue函式
6.2.3命令處理
6.2.4退出程式
6.2.5cLua對象和LuaLib
6.2.6使用cLua的例子
6.2.7LuaGlue函式的優點
6.2.8LuaGlue函式:參數和返回值
6.3本章小結
第7章Lua與C++的互動
7.1重新審視LuaGlue函式
7.2C++代碼和Lua的互動
7.3事件驅動的編程
7.3.1示例事件
7.3.2事件的參數
7.4錯誤處理
7.5本章小結
第8章開發準備
8.1Visual C++.6 0工作區
8.2DirectX基礎
8.3LuaGUI簡介
8.3.1啟動GUI
8.3.2界面
8.3.3界面控制項
8.3.4事件
8.3.5與GUI系統相關的LuaGlue函式
8.3.6Shell程式的擴展
8.4調試視窗
8.5Windows註冊表
8.6本章小結
第9章設計Lua版本的實現
9.1遊戲設計原則
9.1.1什麼是遊戲
9.1.2了解玩家的想法
9.2基礎庫設定
9.3設計文檔
9.4Lua編程規範
9.5本章小結
第10章使用Lua處理遊戲數據
10.1簡單的遊戲數據
10.1.1太空飛船的例子
10.1.2《Take Away》的玩家飛船
10.1.3敵艦數據
10.1.4補給箱數據
10.2大數據集
10.2.1表單型數據
10.2.2Lua格式的數據檔案
10.3使用Lua保存遊戲數據
10.3.1案例1——《Frontrunner》
10.3.2案例2——健身大亨
10.4本章小結
第11章Lua驅動的GUI
11.1GUI系統概要
11.2GUI的C++類
11.2.1GUI控制項:Sprite
11.2.2GUI控制項:TextField
11.2.3GUI控制項:Button
11.2.4界面
11.2.5GUI管理器
11.3GUI LuaGlue函式
11.4進一步的說明
11.5Lua遊戲界面
11.5.1界面設計原則
11.5.2快速創建界面
11.5.3載入界面
11.5.4主選單界面
11.5.5 Controls界面
11.5.6 InGame界面
11.6本章小結
第12章Lua遊戲編程
12.1遊戲主循環
12.2井字棋
12.2.1遊戲的初始化
12.2.2遊戲回合處理
12.2.3模擬遊戲回合
12.3《Take Away》遊戲的實現原理
12.3.1 InGame
12.3.2使用計時器
12.3.3玩家操作
12.3.4子彈運動
12.3.5飛船移動
12.3.6繪製活動的物體
12.4本章小結
第13章使用Lua定義和控制AI
13.1智慧型的體現
13.2 21點遊戲
13.3井字棋
13.4《Take Away》遊戲的實現
13.4.1掠奪艦
13.4.2攻擊艦
13.4.3衝擊艦
13.4.4混合艦
13.4.5控制飛行方向
13.4.6碰撞檢測
13.5其他AI的例子
13.5.1靜態追蹤
13.5.2近距離追蹤
13.5.3動態追蹤
13.5.4預判型追蹤
13.5.5炮塔攻擊
13.5.6躲避攻擊
13.5.7防禦性射擊
13.5.8攻擊傷害
13.7路徑尋找
13.7.1算法概要
13.7.2路徑尋找示例
13.7.3Lua實現
13.8本章小結
第14章Lua和圖像
14.1運行繪圖示例
14.1.1指紋示例
14.1.2爆炸示例
14.2線性移動
14.2.1GetCollisions函式
14.2.2HitTest函式
14.2.3進一步的說明
14.3碰撞檢測
14.3.1LuaGlue函式SetTexture
14.3.2坦克示例
14.42D粒子系統
14.5本章小結
第15章最後說明
15.1添加音效和音樂
15.1.1LuaGlue函式PlaySound
15.1.2音樂
15.2使用編輯器
15.3調試Lua腳本
15.3.1通用原則
15.3.2調用DoFile函式
15.3.3Lua 錯誤訊息
15.3.4使用實時調試視窗
15.3.5使用文本框
15.3.6使用檔案輸出
15.4資源管理
15.4.1資源的組織
15.4.2運行時的資料夾
15.5發布Lua代碼
15.6許可證
15.7進一步的說明
15.8本章小結

相關詞條

熱門詞條

聯絡我們