Lua游戏开发实践指南
《Lua游戏开发实践指南》
基本信息
原书名:Game Development with Lua
作者: (美)Paul Schuytema Mark Manyen
译者: 田剑
丛书名: 华章程序员书库
出版社:机械工业出版社
ISBN:9787111403357
上架时间:2012-11-21
出版日期:2013 年1月
开本:16开
页码:1
版次:1-1
所属分类: 计算机
更多关于 》》》《Lua游戏开发实践指南》
内容简介
书籍
计算机书籍
《lua游戏开发实践指南》是资深lua游戏开发工程师10余年工作经验和智慧的结晶,lua语言创始人亲自作序推荐,是lua游戏开发领域最具实战意义和代表性的著作之一。它不仅详细讲解了在游戏开发中使用lua的各种技术细节、方法技巧和最佳实践,而且讲解了如何使用lua作为主要工具将游戏设计转化为代码实现的过程。此外,它还重点阐述了lua语言的核心要素。最重要的是,本书包含大量精心设计的案例,并附赠了完整的源代码,可操作性极强。
全书一共15章:第1~3章简单地介绍了lua语言的特性、授权,以及在游戏开发中的强大用途;第4~5章详细讲解了lua语言的基本语法和核心要素;第6~7章讲解了lua与c/c++程序的整合以及与c++的交互相关的技术细节;第8~9章介绍了开发前需要做的准备工作,以及如何设计lua版本的实现;第10章讲解了如何使用lua来处理游戏数据;第11章讲解了lua驱动的gui;第12章详细讲解了两个完整的游戏开发案例;第13章结合实例讲解了如何使用lua定义和控制ai;第14章展示了lua在图形绘制和图像处理方面的强大功能;第15章探讨了lua与多媒体、lua脚本的调试、lua应用的资源管理以及lua代码的发布等内容。
目录
《lua游戏开发实践指南》
译者序
序
前言
致谢
第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.5controls界面
11.5.6ingame界面
11.6本章小结
第12章lua游戏编程
12.1游戏主循环
12.2井字棋
12.2.1游戏的初始化
12.2.2游戏回合处理
12.2.3模拟游戏回合
12.3《take.away》游戏的实现原理
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智能的体现
13.221点游戏
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本章小结