译者序
序
前言
致谢
第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.6有限状态机
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本章小结
· · · · · · (
收起)
评分
☆☆☆☆☆
挺好的,每个章节都不会太长,内容结构也看得出有用心在布局,也没有搞一大堆让人听不懂的出来吓人。闲时看一章,我喜欢这种结构,也喜欢 这种布局,推荐。适合放枕头边。睡前看一章然后入睡。不过在Mac环境下就没提起,不过网上找一些TextMate的配置一下也相对简单。总体这本书...
评分
☆☆☆☆☆
11月11日开读,到今天正好一个月。 起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜。 如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不需要懂cocos2d-x。其实lua也不需要懂太多。 只要会if ,for等基本语...
评分
☆☆☆☆☆
11月11日开读,到今天正好一个月。 起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜。 如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不需要懂cocos2d-x。其实lua也不需要懂太多。 只要会if ,for等基本语...
评分
☆☆☆☆☆
11月11日开读,到今天正好一个月。 起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜。 如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不需要懂cocos2d-x。其实lua也不需要懂太多。 只要会if ,for等基本语...
评分
☆☆☆☆☆
11月11日开读,到今天正好一个月。 起因是被裁员之后,发现很多公司都在使用lua编写cocos2d-x游戏,原因是上手快,技术人员比较便宜。 如果引擎封装比较好,几乎在lua里写写基本逻辑就行了,不需要懂cocos2d-x。其实lua也不需要懂太多。 只要会if ,for等基本语...