本书是资深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代码的发布等内容。
PaulSchuytema 资深游戏开发专家兼Lua开发工程师,在游戏开发领域研究和实践10余年,积累了丰富的经验。曾经在过去的10届全球游戏开发大会(GDC)中发表过重要演讲,在游戏开发领域颇有影响力。他设计并开发了20余款经典的游戏,发表了200多篇与游戏开发相关的专业文章,而且他还是多本书籍的作者或合著者。
Mark Manyen 资深游戏开发专家兼Lua开发工程师,MagicLantern的技术总监,在超过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 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本章小结
资料名称 | 文件类型 | 文件大小 | 下载 |
---|
Copyright © 2014 Cengage Learning Asia Pte Ltd. All Rights Reserved.
请您登陆后,再进行资料下载。
如果您还没有用户名和密码,请您点击“获取下载资格”按钮,进行申请表格填写,我们会及时跟您取得联系。