图书介绍

魔兽世界编程宝典 World of Warcraft Addons完全参考手册2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

魔兽世界编程宝典 World of Warcraft Addons完全参考手册
  • 张卫星等著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302222392
  • 出版时间:2010
  • 标注页数:870页
  • 文件大小:83MB
  • 文件页数:888页
  • 主题词:计算机网络-游戏-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

魔兽世界编程宝典 World of Warcraft Addons完全参考手册PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第Ⅰ部分 学习编程2

第1章 关于魔兽世界的编程2

1.1 定制用户界面2

1.1.1 插件是如何工作的2

1.1.2 插件能够做什么3

1.2 Lua新手上路3

1.2.1 下载和安装WowLua4

1.2.2 在网上使用Lua4

1.2.3 下载并安装Lua解释器5

1.3 探究您的Lua解释器6

第2章 探讨Lua基础知识7

2.1 使用Lua解释器7

2.1.1 运行命令7

2.1.2 错误信息的理解8

2.1.3 使用历史信息来做改变8

2.1.4 退出解释器9

2.2 处理数字9

2.2.1 基本算术运算9

2.2.2 科学记数法10

2.2.3 十六进制表示法11

2.2.4 理解浮点11

2.3 理解值和变量12

2.3.1 探讨值和它们的类型12

2.3.2 使用变量13

2.4 使用字符串16

2.4.1 比较字符串16

2.4.2 多个字符串的连接16

2.4.3 将数字转换成字符串17

2.4.4 将字符串转换成数字17

2.4.5 引用字符串17

2.4.6 转义特殊的字符19

2.4.7 获得字符串的长度20

2.5 布尔值和运算符21

2.5.1 使用and运算符21

2.5.2 or运算符的使用21

2.5.3 not运算符的使用22

2.5.4 理解nil值22

2.6 探讨作用域23

2.6.1 块(Block)23

2.6.2 组块(Chunk)24

2.7 小结24

第3章 基本的函数和控制结构25

3.1 使用函数25

3.1.1 创建函数25

3.1.2 局部函数26

3.1.3 函数的参数和返回值26

3.1.4 函数作为Lua值27

3.2 用if语句进行判断28

3.2.1 简单的条件28

3.2.2 复杂的表达式29

3.2.3 扩展的条件语句29

3.2.4 显示个人问候信息29

3.3 用while语句来重复动作30

3.3.1 计算阶乘31

3.3.2 while和repeat之间的差异32

3.4 用数值执行for循环32

3.4.1 计算阶乘34

3.4.2 循环条件的求值34

3.4.3 循环中的变量作用域34

3.5 小结35

第4章 使用表36

4.1 用表来存储数据36

4.1.1 创建和索引表36

4.1.2 从表中清除元素37

4.1.3 字符串关键字的快捷方式37

4.1.4 创建有内容的表38

4.2 把表当作数组使用39

4.2.1 创建数组39

4.2.2 获取数组的长度40

4.2.3 在数组中添加元素40

4.2.4 从数组中删除元素41

4.2.5 对数组中的元素排序42

4.3 用名称空间使用表43

4.3.1 创建util名称空间43

4.3.2 向util中添加函数43

4.4 表的面向对象编程44

4.4.1 创建非面向对象计数器45

4.4.2 把表作为简单的对象45

4.4.3 用冒号调用对象方法46

4.4.4 用冒号定义函数46

4.4.5 创建更佳的计数器47

4.5 利用元表对表进行扩展48

4.5.1 添加元表48

4.5.2 定义元方法49

4.5.3 旁路元表54

4.6 小结54

第5章 高级函数和控制结构55

5.1 多值返回55

5.2 将十六进制转换成RGB55

5.3 指定多个值56

5.4 返回值丢失56

5.5 WoW中的多个返回值57

5.6 接受可变数目的参数58

5.7 声明变参函数59

5.8 结合select()函数使用60

5.9 范型for循环和迭代器61

5.10 范型for语句的语法61

5.11 遍历表的数组部分61

5.12 遍历完整的表62

5.13 表的清除63

5.14 其他的迭代器63

5.15 对表的数组排序63

5.16 定义样例数据64

5.17 默认的排序顺序64

5.18 创建比较函数64

5.19 创建更复杂的比较函数65

5.20 小结66

第6章 Lua标准库67

6.1 表库68

6.1.1 table.concat(table[,sep[,i[,j]]])68

6.1.2 table.insert(table,[pos,]value)68

6.1.3 table.maxn(table)68

6.1.4 table.remove(table[,pos])69

6.1.5 table.sort(table[,comp])69

6.2 数学函数库69

6.3 字符串函数72

6.4 格式化新字符串73

6.5 模式匹配75

6.5.1 字符类型75

6.5.2 模式选项77

6.5.3 模式捕获77

6.5.4 模式锚点78

6.5.5 模式的例子78

6.6 模式匹配函数78

6.7 Lua在WoW插件中的补充80

6.8 函数别名81

6.9 小结82

第7章 学习XML83

7.1 XML——一种标记语言83

7.1.1 XML与HTML的关系84

7.1.2 XML的组件84

7.1.3 创建规范的XML85

7.2 验证XML文档86

7.2.1 规范定义的样例86

7.2.2 XML文件的例子87

7.2.3 魔兽世界中的XML88

7.2.4 使用GradientType89

7.2.5 探讨模式89

7.3 小结89

第Ⅱ部分 魔兽世界编程第8章 魔兽世界编程概述91

8.1 游戏中运行和测试代码91

8.1.1 安装91

8.1.2 使用/script和/run92

8.1.3 显示输出92

8.2 在游戏中编辑代码93

8.2.1 TinyPad93

8.2.2 Omnibus94

8.2.3 WowLua94

8.3 编写自定义print()函数94

8.4 插件和脚本的局限性95

8.5 用Blizzard插件编写资源95

8.5.1 用户界面自定义工具95

8.5.2 用户界面和宏论坛97

8.6 论坛资源97

8.6.1 WowwiKI97

8.6.2 魔兽版本监视器97

8.7 小结97

第9章 插件解析98

9.1 开发属于您自己的插件文件夹98

9.1.1 暴雪的插件98

9.1.2 自定义插件99

9.2 插件组件和文件99

9.2.1 内容表格文件(.toc)99

9.2.2 Lua脚本文件104

9.2.3 XML文件104

9.2.4 媒体文件104

9.3 本地化您的插件106

9.3.1 可用的本地语言106

9.3.2 本地化的原因106

9.3.3 鼓励玩家建议106

9.3.4 实现本地化107

9.4 创建插件框架108

9.4.1 为插件命名(创建目录)108

9.4.2 创建.toc文件109

9.4.3 创建框架.xml文件109

9.5 使用外部库109

9.6 小结109

第10章 在XML中创建窗体110

10.1 了解UI对象110

10.1.1 为对象进行命名110

10.1.2 指定父对象111

10.1.3 设置对象尺寸112

10.1.4 锚定对象113

10.1.5 将窗体和图形元素分层115

10.1.6 一般属性117

10.2 创建纹理118

10.2.1 添加颜色118

10.2.2 添加渐变效果118

10.2.3 添加图形元素120

10.3 使用字体字符串创建文本120

10.3.1 使用模板121

10.3.2 使用的例子121

10.3.3 进一步自定义122

10.4 探讨窗体类型123

10.4.1 按钮(Button)123

10.4.2 复选按钮(Check Button)123

10.4.3 颜色选择(ColorSelect)124

10.4.4 编辑框(Editbox)124

10.4.5 游戏工具提示(Game Tooltip)124

10.4.6 消息窗体(Message Frame)125

10.4.7 小地图(Minimap)125

10.4.8 模型(Model)125

10.4.9 滚动信息窗体(Scrolling Message Frame)126

10.4.10 滚动窗体(Scroll Frame)126

10.4.11 简单的HTML窗体126

10.4.12 滑动器(Slider)126

10.4.13 状态栏(Status Bar)127

10.4.14 飞行路线窗体127

10.5 小结128

第11章 向XML窗体中添加行为129

11.1 理解事件和脚本129

11.1.1 窗体脚本129

11.1.2 游戏事件129

11.2 使用脚本响应窗体事件130

11.2.1 〈OnEnter〉和〈OnLeave〉130

11.2.2 〈OnLoad〉131

11.2.3 〈OnEvent〉131

11.2.4 〈OnClick〉132

11.2.5 〈OnUpdate〉133

11.3 可用的窗体脚本133

11.4 使用窗体方法改变窗体135

11.4.1 常用方法135

11.4.2 指定类型的函数135

11.5 创建并使用模板136

11.5.1 模板有用的原因136

11.5.2 新建XML模板136

11.5.3 使用XML模板137

11.6 使用默认UI工具集模板138

11.7 小结139

第12章 创建您的第一个插件:CombatTracker140

12.1 定义规格说明140

12.1.1 CombatTracker用户要求140

12.1.2 找准游戏事件140

12.2 创建插件架构142

12.3 定义CombatTracker的XML窗体143

12.4 测试CombatTrackerFrame144

12.5 向CombatTrackerFrame添加操作脚本144

12.5.1 〈OnLoad〉145

12.5.2 〈OnEvent〉145

12.5.3 〈OnClick〉145

12.5.4 〈OnDragStart〉145

12.5.5 〈OnDragStop〉145

12.6 为CombatTracker.lua添加函数146

12.6.1 CombatTracker_OnLoad(frame)146

12.6.2 CombatTracker_OnEvent(frame,event,...)147

12.6.3 CombatTracker_ReportDPS()148

12.7 测试CombatTracker149

12.7.1 窗体拖拽149

12.7.2 右击报告:第Ⅰ部分150

12.7.3 测试战斗跟踪150

12.7.4 右击报告:第Ⅱ部分150

12.8 小结151

第13章 运用魔兽世界API152

13.1 理解魔兽世界API152

13.1.1 常规API152

13.1.2 类库API153

13.1.3 FrameXML函数154

13.1.4 受保护函数154

13.1.5 单位函数的使用与关闭155

13.2 创建简单的单位窗体156

13.2.1 创建窗体157

13.2.2 添加数据域157

13.2.3 设定窗体事件处理程序160

13.3 使用API164

13.3.1 显示和隐藏窗体164

13.3.2 实现简单的更新函数165

13.3.3 显示生命和法力值167

13.3.4 更新敌对信息169

13.4 小结173

第14章 使用AddOn Studio创建基本插件174

14.1 开始使用AddOn Studio174

14.2 可视化设计您的界面175

14.2.1 使用Toolbox176

14.2.2 设置属性176

14.3 编写代码177

14.3.1 监听事件177

14.3.2 自动添加事件处理程序178

14.3.3 验证单位是否存在178

14.3.4 添加“关闭”按钮的代码180

14.4 部署插件180

14.5 小结181

第Ⅲ部分 高级插件技术第15章 利用编程模板183

15.1 向TargetText添加增益184

15.1.1 创立基本模板185

15.1.2 定义基本的行为186

15.2 创建增益图标188

15.2.1 创建栅格189

15.2.2 设定锚点189

15.2.3 创建特定的wrapper函数190

15.3 更新增益191

15.3.1 对增益进行遍历191

15.3.2 对更新操作进行封装193

15.4 小结194

第16章 脱离XML编写插件195

16.1 探索基本的窗体创建195

16.1.1 使用CreateFontString()函数196

16.1.2 使用CreateTexture()函数196

16.2 创建更好的玩家窗体197

16.2.1 设置Lua197

16.2.2 创建窗体198

16.2.3 使它工作199

16.3 比较LUA窗体和XML窗体200

16.4 小结203

第17章 使用安全模板204

17.1 了解污染(Taint)204

17.1.1 启用污染日志205

17.1.2 执行污染205

17.1.3 变量污染207

17.1.4 蔓延的污染208

17.1.5 理解被保护的窗体209

17.1.6 无污染地设置窗体属性209

17.2 使用安全模板210

17.2.1 为动作按钮定义行为210

17.2.2 做一些简单的选择214

17.3 使您的单位窗体充满生机218

17.3.1 移除禁止代码218

17.3.2 接受单击219

17.3.3 显示和隐藏窗体219

17.3.4 设置动作219

17.4 小结220

第18章 创建命令221

18.1 检测基本的命令221

18.2 小提示、技巧以及好主意222

18.2.1 象征输入222

18.2.2 将确认用于模式匹配223

18.2.3 假跳转224

18.2.4 好主意225

18.3 小结226

第19章 用函数钩改变已有行为227

19.1 什么是函数钩227

19.1.1 修改返回值228

19.1.2 函数钩工具脚本228

19.1.3 安全地钩一个函数230

19.1.4 安全地钩住脚本230

19.2 决定什么时候使用函数钩231

19.2.1 理解钩链(Hook Chain)231

19.2.2 寻找替代232

19.3 设计插件:MapZoomOut233

19.3.1 创建定时器233

19.3.2 创建MapZoomOut234

19.4 小结236

第20章 创建自定义图形界面238

20.1 创建图形的普遍规则238

20.2 GIMP238

20.2.1 新建图片239

20.2.2 添加图形组件239

20.2.3 保存纹理240

20.3 Adobe Photoshop240

20.3.1 新建图像241

20.3.2 添加图形组件241

20.3.3 创建透明度通道241

20.3.4 保存图像242

20.4 Paint Shop Pro243

20.4.1 新建图像243

20.4.2 添加图像组件244

20.4.3 创建透明度通道244

20.4.4 保存图像244

20.5 测试纹理245

20.5.1 没有按钮出现246

20.5.2 出现绿色方块246

20.6 小结247

第21章 使窗体移动248

21.1 拖动和放置248

21.2 标题区域248

21.3 使用OnMouseDown和OnMouseUp249

21.4 使用OnDragStart/OnDragStop249

21.5 给窗体赋予生命250

21.6 渐隐251

21.7 小结252

第22章 创建滚动窗体253

22.1 使用滚动结构255

22.1.1 定义滚动窗体255

22.1.2 添加子滚动条255

22.1.3 创建滚动条257

22.2 创建伪滚动窗体258

22.2.1 添加滚动条261

22.2.2 利用鼠标滚轮进行滚动261

22.3 小结262

第23章 创建下拉菜单263

23.1 创建简单的下拉菜单263

23.1.1 添加切换按钮264

23.1.2 创建下拉窗体264

23.1.3 初始化下拉菜单265

23.1.4 设置下拉菜单267

23.1.5 测试下拉菜单267

23.2 创建多级下拉菜单268

23.3 创建高级下拉菜单269

23.3.1 功能菜单项270

23.3.2 CheckButton菜单项270

23.4 调色板菜单项271

23.5 自动创建菜单272

23.6 小结274

第24章 工具提示275

24.1 操作工具提示275

24.1.1 使用“:Set…”函数275

24.1.2 包含自定义信息的工具提示276

24.1.3 创建自定义工具提示277

24.2 解析工具提示数据278

24.2.1 基础结构剖析278

24.2.2 基本扫描循环278

24.3 小结279

第25章 使用状态标题280

25.1 创建第一个状态标题280

25.1.1 重设鼠标单击282

25.1.2 通过单击修改状态284

25.2 控制视觉属性285

25.2.1 显示和隐藏子标题286

25.2.2 重置子标题的位置286

25.2.3 重新定义子标题和标题的大小287

25.2.4 重置标题位置287

25.3 配置其他的属性290

25.3.1 改变标题的单位290

25.3.2 覆盖绑定键291

25.3.3 在栈中存储状态292

25.4 创建宏序列293

25.4.1 定义序列294

25.4.2 设定基本的序列295

25.4.3 重置您的序列297

25.5 创建Pie按钮299

25.5.1 设定Pie按钮299

25.5.2 构建窗体300

25.5.3 完成行为302

25.6 小结303

第26章 驱动状态改变304

26.1 使用状态驱动304

26.1.1 延时驱动状态改变305

26.1.2 理解宏选项306

26.1.3 合并情景类型310

26.1.4 在标题中共享状态311

26.2 使用定位模板311

26.2.1 触发定位改变312

26.2.2 重新映射定位转换312

26.3 创建动作弹出菜单313

26.3.1 创建窗口313

26.3.2 添加按钮314

26.3.3 定义基本行为316

26.3.4 应用锚点320

26.4 小结322

第27章 利用组模板创建单位窗体323

27.1 模板的工作原理323

27.2 配置SecureGroupHeader324

27.3 SecureGroupPetHeader模板属性326

27.4 新建SecureGroupHeader326

27.5 定义XML模板327

27.6 添加行为脚本328

27.6.1 初始化窗体329

27.6.2 更新单位信息329

27.6.3 更新最大生命值330

27.6.4 添加拖拽支持331

27.7 测试BasicUnitFrames331

27.8 小结332

第Ⅳ部分 参考文献334

第28章 API参考文献334

28.1 API参考约定334

28.1.1 函数签名334

28.1.2 参数和返回列表335

28.2 API伪类型335

28.3 按字母排序的API列表337

第29章 API目录682

29.1 动作682

29.2 动作栏683

29.3 插件683

29.4 竞技场683

29.5 拍卖684

29.6 银行685

29.7 战场685

29.8 绑定687

29.9 增益687

29.10 摄像机688

29.11 频道688

29.12 聊天690

29.13 仅在中国使用的函数690

29.14 客户端691

29.15 战斗691

29.16 申诉691

29.17 容器691

29.18 手工艺692

29.19 光标693

29.20 配置变量694

29.21 调试694

29.22 阵营695

29.23 GM调查695

29.24 GM请求695

29.25 公会695

29.26 公会银行697

29.27 查看698

29.28 副本698

29.29 物品栏699

29.30 物品699

29.31 物品链接701

29.32 物品文本701

29.33 知识库702

29.34 键盘702

29.35 寻求组队/寻求成员703

29.36 拾取704

29.37 Mac704

29.38 Macro705

29.39 邮件706

29.40 地图707

29.41 商人707

29.42 其他708

29.43 不同的单击709

29.44 金钱709

29.45 移动709

29.46 NPC710

29.47 小队710

29.48 宠物711

29.49 请求713

29.50 玩家713

29.51 配置715

29.52 PvP715

29.53 任务716

29.54 团队718

29.55 技能719

29.56 社交719

29.57 凹槽719

29.58 声音720

29.59 法术720

29.60 形态721

29.61 统计信息722

29.62 天赋723

29.63 目标723

29.64 飞行器724

29.65 跟踪724

29.66 交易724

29.67 交易技能725

29.68 训练师726

29.69 UI727

29.70 单位728

29.71 实用程序730

29.72 视频731

29.73 语音732

29.74 区域733

第30章 事件参考734

第31章 工具集参考794

31.1 工具集API794

31.1.1 UIObject794

31.1.2 FontInstance794

31.1.3 Region795

31.1.4 VisibleRegion796

31.1.5 LayeredRegion796

31.1.6 Font797

31.1.7 Texture797

31.1.8 FontString798

31.1.9 Frame798

31.1.10 GameTooltip801

31.1.11 EditBox805

31.1.12 Slider807

31.1.13 Model807

31.1.14 MessageFrame808

31.1.15 Cooldown809

31.1.16 ScrollFrame809

31.1.17 ColorSelect810

31.1.18 Minimap811

31.1.19 SimpleHTML811

31.1.20 ScrollingMessageFrame813

31.1.21 StatusBar814

31.1.22 Button814

31.1.23 PlayerModel816

31.1.24 CheckButton817

31.1.25 TabardModel817

31.1.26 DressUpModel818

31.2 处理程序列表818

第Ⅴ部分 附录831

附录A 发布插件831

附录B 利用版本控制系统跟踪历史记录838

附录C 最好的代码风格841

附录D 避免常见的错误858

附录E 使用插件库860

附录F 作者和插件社区866

附录G 词汇表868

热门推荐