搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Lua游戏开发实践指南
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111403357
  • 作      者:
    (美)Paul Schuytema, (美)Mark Manyen著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2013
收藏
内容介绍
  《Lua游戏开发实践指南》是资深Lua游戏开发工程师10余年工作经验和智慧的结晶,Lua语言创始人亲自作序推荐,是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在游戏开发中的一个很强大的特性是它能够作为保存、载人游戏数据的主要工具。所有的游戏都和数据相关,在脚本层处理数据,意味着游戏设计师和脚本程序员可以独立于底层的核心代码,访问所有的游戏数据并且设计符合游戏需要的数据存储方式。Lua还可以被用于保存游戏进度、游戏开始时的数据载入,以及玩家载人游戏进度。    在本章中,我们将要了解如何使用Lua变量和表来存放运行时数据,以及如何输出数据保存游戏进度。    10.1简单的游戏数据    几乎所有的游戏都有很重要的数据组件。一些简单的经典游戏,如《space Invader》(太空侵略者)、(Asteroids)(爆破彗星),在运行时只有很少的数据,但也包含了基本的信息。更多的现代游戏,如《Doom3)(毁灭战士3)或者(Neverwinter Nights》(无冬之夜),在运行时会有大量的数据产生。    有些数据在C++领域是十分清楚的。想象一下3D第一人称射击游戏,在每一帧的图形绘制中,计算决定了屏幕上显示的场景以及用来表示动态物体的数据,如那些玩家射击的怪物和玩家自己控制的3D角色,这些物体都是由成百上千个点和三角形组成。 
展开
目录
译者序

前言
致谢
第1章 游戏开发入门
1.1越来越复杂的开发过程
1.2更好的开发方式
1.3为什么使用Lua
1.4本章小结
第2章 脚本语言
2.1脚本语言简介
2.2 Lua简介
2.2.1 Lua的历史
2.2.2 Lua授权
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.1 nil
4.3.2 Boolean
4.3.3 string
4.3.4 Number
4.3.5 table
4.3.6局部变量和全局变量
4.4运算符
4.4.1算术运算符
4.4.2关系运算符
4.4.3逻辑运算符
4.5控制结构
4.5.1 if
4.5.2 while和repeat
4.5.3 for
4.5.4 break
4.6本章小结
第5章 深入学习Lua
5.1函数
5.1.1单一参数
5.1.2多个参数
5.1.3返回值
5.2标准库
5.2.1 assert(myValue)()
5.2.2 dofile(filename)
5.2.3 math.floor()
5.2.4 math.random()
5.2.5 math.min()
5.3字符处理
5.3.1类型转换
5.3.2 string.char(n1,n2,.)
5.3.3 string.len(myString)
5.3.4 string.sub(myString,start,end)
5.3.5 string.format()
5.3.6 string.find(sourceString,findString)
5.3.7字符和格式
5.4 table数据结构
5.4.1 table.getn(myTable)
5.4.2 table.insert(myTable,position,value)
5.4.3 table.remove(myTable,position)
5.4.4 table引用
5.4.5多维table
5.4.6 pairs()
5.5 I/O基础
5.6本章小结
第6章 Lua与C/C++程序的整合
6.1初期设计要点
6.1.1 Lua环境
6.1.2 LuaGlue函数
6.2基本实现方式
6.2.1创建Lua运行环境
6.2.2添加LuaGlue函数
6.2.3命令处理
6.2.4退出程序
6.2.5 cLua对象和LuaLib
6.2.6使用cLua的例子
6.2.7 LuaGlue函数的优点
6.2.8 LuaGlue函数:参数和返回值
6.3本章小结
第7章 Lua与C++的交互
7.1重新审视LuaGlue函数
7.2 C++代码和Lua的交互
7.3事件驱动的编程
7.3.1示例事件
7.3.2事件的参数
7.4错误处理
7.5本章小结
第8章 开发准备
8.1 Visual.C++.6.0工作区
8.2 DirectX基础
8.3 LuaGUI简介
8.3.1启动GUI
8.3.2界面
8.3.3界面控件
8.3.4事件
8.3.5与GUI系统相关的LuaGlue函数
8.3.6 Shell程序的扩展
8.4调试窗口
8.5 Windows注册表
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.1 GUI系统概要
11.2 GUI的C++类
11.2.1 GUI控件:Sprite
11.2.2 GUI控件:TextField
11.2.3 GUI控件:Button
11.2.4界面
11.2.5 GUI管理器
11.3 GUI.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.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.3 Lua实现
13.8本章小结
第14章 Lua和图像
14.1运行绘图示例
14.1.1指纹示例
14.1.2爆炸示例
14.2线性移动
14.2.1 GetCollisions函数
14.2.2 HitTest函数
14.2.3进一步的说明
14.3碰撞检测
14.3.1 LuaGlue函数SetTexture
14.3.2坦克示例
14.4 2D粒子系统
14.5本章小结
第15章 最后说明
15.1添加音效和音乐
15.1.1 LuaGlue函数PlaySound
15.1.2音乐
15.2使用编辑器
15.3调试Lua脚本
15.3.1通用原则
15.3.2调用DoFile函数
15.3.3 Lua.错误消息
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本章小结
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证