资源大小: 92.43MB
发布时间: 2013-01-09
文件格式: pdf
下载次数: 6
分享到:

下载地址:

下载地址1
(本站为飞网专业下载站,域名:down.cfei.net)

资源简介:

中文名: 魔兽世界编程宝典--World of Warcraft Addons完全参考手册原名: World of Warcraft Programming: A Guide and Reference for Creating WoW Addons作者: (美)James Whitehead IIBryan McLemoreMatthew Orlando译者: 杨柏林张卫星王聪资源格式: PDF版本: 扫描版出版社: Tsinghua University Press书号: 9787XXX222392发行时间: 2010年6月地区: 大陆语言: 简体中文简介: 内容介绍:  阅读完本书,您将学会如何对魔兽世界界面进行自定义修改。如果您初学编程,将从本书学习到lua和xml的基础知识,以及如何开始编写自己的第一个插件。如果您已经熟悉一些原始插件,那么可以直接跳到本书的第ⅲ第ⅳ部分,使用模板、函数钩、自定义图形、状态标题等。本书有助于您发布自己的插件,使wow更加有趣。      本书是创建wow插件的指南和参考手册。本书分为5部分,其主题的复杂程度逐渐由低到高。第ⅰ部分介绍了lua和xml,使读者快速地上手这两门语言,便于创建插件。第ⅱ部分讨论了插件的初步构成,以及事件驱动(event-driven)的魔兽世界插件编程的基本概念。在本部分,读者将创建自己的第一个插件,并熟悉wow中的常用api。第ⅲ部分通过从头到尾实现一些插件,将读者引入更加高级的主题中。第ⅳ部分为整个api的完备参考,包括函数、工具集、事件以及安全模板。第ⅴ部分为附录。 作者介绍:  James Whitehead II创建的插件包括PerfectRaid、Clique、TomTom和其他可以从www.wowinterface.com网站下载的插件。他还是Hacking World of Warcraft一书的作者之一。 目录: 第Ⅰ部分 学习编程第1章 关于魔兽世界的编程1.1 定制用户界面1.1.1 插件是如何工作的1.1.2 插件能够做什么1.2 Lua新手上路1.2.1 下载和安装Wow[ma1.2.2 在网上使用Lua1.2.3 下载并安装Lua解释器1.3 探究您的Lua解释器第2章 探讨Lua基础知识2.1 使用Lua解释器2.1.1 运行命令2.1.2 错误信息的理解2.1.3 使用历史信息来做改变2.1.4 退出解释器2.2 处理数字2.2.1 基本算术运算2.2.2 科学记数法2.2.3 十六进制表示法2.2.4 理解浮点2.3 理解值和变量2.3.1 探讨值和它们的类型2.3.2 使用变量2.4 使用字符串2.4.1 比较字符串2.4 2多个字符串的连接2.4.3 将数字转换成字符串2.4.4 将字符串转换成数字2.4.5 引用字符串2.4.6 转义特殊的字符2.4.7 获得字符串的长度2.5 布尔值和运算符2.5.1 使用and运算符2.5.2 or运算符的使用2.5.3 not运算符的使用2.5.4 理解nil值2.6 探讨作用域2.6.1 块(Block)2.6.2 组块(Chunk)2.7 小结第3章 基本的函数和控制结构3.1 使用函数3.1.1 创建函数3.1.2 局部函数3.1.3 函数的参数和返回值3.1.4 函数作为Lua值3.2 用if语句进行判断3.2.1 简单的条件3.2.2 复杂的表达式3.2.3 扩展的条件语句3.2.4 显示个人问候信息3.3 用while语句来重复动作3.3.1 计算阶乘3.3.2 while和repeat之间的差异3.4 用数值执行for循环3.4.1 计算阶乘3.4.2 循环条件的求值3.4.3 循环中的变量作用域3.5 小结第4章 使用表4.1 用表来存储数据4.1.1 创建和索引表4.1.2 从表中清除元素4.1.3 字符串关键字的快捷方式4.1.4 创建有内容的表4.2 把表当作数组使用4.2.1 创建数组4.2.2 获取数组的长度4.2.3 在数组中添加元素4.2.4 从数组中删除元素4.2.5 对数组中的元素排序4.3 用名称空间使用表4.3.1 创建util名称空间4.3.2 向util中添加函数4.4 表的面向对象编程4.4.1 创建非面向对象计数器4.4.2 把表作为简单的对象4.4.3 用冒号调用对象方法4.4.4 用冒号定义函数4.4.5 创建更佳的计数器4.5 利用元表对表进行扩展4.5.1 添加元表4.5.2 定义元方法4.5.3 旁路元表4.6 小结第5章 高级函数和控制结构5.1 多值返回5.2 将十六进制转换成RGB5.3 指定多个值5.4 返回值丢失5.5 W0W中的多个返回值5.6 接受可变数目的参数5.7 声明变参函数5.8 结合select()函数使用5.9 范型for循环和迭代器5.10 范型for语句的语法5.11 遍历表的数组部分5.12 遍历完整的表5.13 表的清除5.14 其他的迭代器5.15 对表的数组排序5.16 定义样例数据5.17 默认的排序顺序5.18 创建比较函数5.19 创建更复杂的比较函数5.20 小结第6章 Lua标准库6.1 表库6.1.1 table.concat(table,sep[,i[,j]]])6.1.2 table.insert(table,[pos,]value)6.1.3 table.maxn(table)6.1.4 table.remove(table[,pos])6.1.5 table.sort(1xtble[,comp])6.2 数学函数库6.3 字符串函数6.4 格式化新字符串6.5 模式匹配6.5.1 字符类型6.5.2 模式选项6.5.3 模式捕获6.5.4 模式锚点6.5.5 模式的例子6.6 模式匹配函数6.7 Lua在WoW插件中的补充6.8 函数别名6.9 小结第7章 学习XML7.1 XML——一种标记语言7.1.1 XML与HTML的关系7.1.2 XML的组件7.1.3创建规范的XML7.2 验证XML文档7.2.1 规范定义的样例7.2.2 XMIL文件的例子7.2.3 魔兽世界中的XML7.2.4 使用GradientType7.2.5 探讨模式7.3 小结第Ⅱ部分 魔兽世界编程第8章 魔兽世界编程概述8.1 游戏中运行和测试代码8.1.1 安装8.1.2 使用/script和/run8.1.3 显示输出8.2 在游戏中编辑代码8.2.1 TinyPad8.2.2 Omnibus8.2.3 WowLlla8.3 编写自定义print()函数8.4 插件和脚本的局限性8.5 用Blizzard插件编写资源8.5.1 用户界面自定义工具8.5.2 用户界面和宏论坛8.6 论坛资源8.6.1 WowwiKI8.6.2 魔兽版本监视器8.7 小结第9章 插件解析9.1 开发属于您自己的插件文件夹9.1.1 暴雪的插件9.1.2 自定义插件9.2 插件组件和文件9.2.1 内容表格文件(.toc)9.2.2 Lua脚本文件9.2.3 XIL文件9.2.4 媒体文件9.3 本地化您的插件9.3.1 可用的本地语言9.3.2 本地化的原因9.3.3 鼓励玩家建议9.3.4 实现本地化9.4 创建插件框架9.4.1 为插件命名(创建目录)9.4.2 创建.toc文件9.4.3 创建框架.xml文件9.5 使用外部库9.6 小结第10章 在XML中创建窗体10.1 了解UI对象10.1.1 为对象进行命名10.1.2 指定父对象10.1.3 设置对象尺寸10.1.4 锚定对象10.1.5 将窗体和图形元素分层10.1.6 一般属性10.2 创建纹理10.2.1 添加颜色10.2.2 添加渐变效果10.2.3 添加图形元素10.3 使用字体字符串创建文本10.3.1 使用模板10.3.2 使用的例子10.3.3 进一步自定义10.4 探讨窗体类型10.4.1 按钮(Button)10.4.2 复选按钮(CheckButton)10.4.3 颜色选择ColorSelect)10.4.4 编辑框(Editbox)10.4.5 游戏工具提示(GalneTooltip)10.4.6 消息窗体(MessageFrame)10.4.7 小地图(Minimap)10.4.8 模型(Modeel)10.4.9 滚动信息窗体(scrollingMessageFrame)10.4.10 滚动窗体(Scroll Frame)10.4.11 简单的HTML窗体10.4.12 滑动器(Slider)10.4.13 状态栏(StatusBar)10.4.14 飞行路线窗体10.5 小结第11章 向XML窗体中添加行为11.1 理解事件和脚本11.1.1 窗体脚本11.1.2 游戏事件11.2 使用脚本响应窗体事件11.2.1 11.2.2 11.2.3 11.2.4 11.2.5 11.3 可用的窗体脚本11.4 使用窗体方法改变窗体11.4.1 常用方法11.4.2 指定类型的函数11.5 创建并使用模板11.5.1 模板有用的原因11.5.2 新建XML模板11.5.3 使用XML模板11.6 使用默认UI工具集模板11.7 小结第12章 创建您的第一个插件:CombatTracker12.1 定义规格说明12.1.1 combatTracker用户要求12.1.2 找准游戏事件12.2 创建插件架构12.3 定义CombatTracker的XML窗体12.4 测试CombatTrackerFrame12.5 向CombatTrackerFrame添加操作脚本12.5.1 12.5.2 12.5.3 12.5.4 12.5.5 12.6 为CombatTracken.lua添加函数12.6.1 CombatTracker-OnLoad(frame)12.6.2 CombatTracker-OnEvent(frame,event.)12.6.3 CombatTrackerReportDPS012.7 测试CombatTracker12.7.1 窗体拖拽12.7.2 右击报告:第1部分12.7.3 测试战斗跟踪12.7.4 右击报告:第Ⅱ部分12.8 小结第13章 运用魔兽世界API13.1 理解魔兽世界API13.1.1 常规API13.1.2 类库API13.1.3 FrameXML函数13.1.4 受保护函数13.1.5 单位函数的使用与关闭13.2 创建简单的单位窗体13.2.1 创建窗体13.2.2 添加数据域13.2.3 设定窗体事件处理程序13.3 使用API13.3.1 显示和隐藏窗体13.3.2 实现简单的更新函数13.3.3 显示生命和法力值13.3.4 更新敌对信息13.4 小结第14章 使用AddOn Studio创建基本插件14.1 开始使用AddOnStudio14.2 可视化设计您的界面14.2.1 使用Toolbox14.2.2 设置属性14.3 编写代码14.3.1 监听事件14.3.2 自动添加事件处理程序14.3.3 验证单位是否存在14.3.4 添加“关闭”按钮的代码14.4 部署插件14.5 小结第Ⅲ部分 高级插件技术第15章 利用编程模板15.1 向TargetText添加增益15.1.1 创立基本木板模板15.1.2 定义基本的行为15.2 创建增益图标15.2.1 创建栅格15.2.2 设定锚点15.2.3 创建特定的wrapper函数15.3 更新增益15.3.1 对增益进行遍历15.3.2 对更新操作进行封装15.4 小结第16章 脱离XML编写插件16.1 探索基本的窗体创建16.1.1 使用CreateFontString()函数16.1.2 使用CreateTexture()函数16.2 创建更好的玩家窗体16.2.1 设置Lua16.2.2 创建窗体16.2.3 使它工作16.3 比较LUA窗体和XML窗体16.4 小结第17章 使用安全模板17.1 了解污染(Taint)17.1.1 启用污染日志17.1.2 执行污染17.1.3 变量污染17.1.4 蔓延的污染17.1.5 理解被保护的窗体17.1.6 无污染地设置窗体属性17.2 使用安全模板17.2.1 为动作按钮定义行为17.2.2 做一些简单的选择17.3 使您的单位窗体充满生机17.3.1 移除禁止代码17.3.2 接受单击17.3.3 显示和隐藏窗体17.3.4 设置动作17.4 小结第18章 创建命令18.1 检测基本的命令18.2 小提示、技巧以及好主意18.2.1 象征输入18.2.2 将确定用于模式匹配18.2.3 假跳转18.2.4 好主意18.3 小结第19章 用函数钩改变已有行为19.1 什么是函数钩19.1.1 修改返回值19.1.2 函数钩工具脚本19.1.3 安全地钩一个函数19.1.4 安全地钩住脚本19.2 决定什么时候使用函数钩19.2.1 理解钩链(Hook Chain)19.2.2 寻找替代19.3 设计插件:MapZoomOut19.3.1 创建定时器19.3.2 创建MapZoomOut19.4 小结第20章 创建自定义图形界面20.1 创建图形的普遍规则20.2 GIMP20.2.1 新建图片20.2.2 添加图形组件20.2.3 保存纹理20.3 Adobe Photoshop20.3.1 新建图像20.3.2 添加图形组件20 .3.3 创建透明度通道20.3.4 保存图像20.4 Paint Shop Pro20.4.1 新建图像20.4.2 添加图像组件20.4.3 创建透明度通道20.4.4 保存图像20.5 测试纹理20.5.1 没有按钮出现20.5.2 出现绿色方块20.6 小结第21章 使窗体移动21.1 拖放和放置21.2 标题区域21.3 使用 OnMouseDown和OnMouseUp21.4 使用OnDragStart/OnDragStop21.5 给窗体赋予生命21.6 渐隐21.7 小结第22章 创建滚动窗体22.1 使用滚动结构22.1.1 定义滚动窗体22.1.2 添加子滚动条22.1.3 创建滚动条22.2 创建伪滚动窗体22.2.1 添加滚动条22.2.2 利用鼠标滚轮进行滚动22.3 小结第23章 创建下拉菜单23.1 创建简单的下拉菜单23.1.1 添加切换按钮23.1.2 创建下拉窗体23.1.3 初始化下拉菜单23.1.4 设置下拉菜单23.1.5 测试下拉菜单23.2 创建多级下拉菜单23.3 创建高级下拉菜单23.3.1 功能菜单项23.3.2 CheckButton菜单项23.4 调色板菜单项23.5 自动创建菜单23.6 小结第24章 工具提示24.1 操作工具提示24.1.1 使用”:Set…”函数24.1.2 包含自定义信息的工具提示24.1.3 创建自定义工具提示24.2 解析工具提示数据24.2.1 基础结构剖析24.2.2 基本扫描循环24.3 小结第25章 使用状态标题25.1 创建第一个状态标题25.1.1 重设鼠标单击25.1.2 通过单击修改状态25.2 控制视觉属性25.2.1 显示和隐藏子标题25.2.2 重置子标题的位置25.2.3 重新定义子标题和标题的大小25.2.4 重置标题位置25.3 配置其他的属性25.3.1 改变标题的单位25.3.2 覆盖绑定键25.3.3 在栈中存储状态25.4 创建宏序列25.4.1 定义序列25.4.2 设定基本的序列25.4.3 重置您的序列25.5 创建 Pie按钮25.5.1 设定 Pie按钮25.5.2 构建窗体25.5.3 完成行为25.6 小结第26章 驱动状态改变26.1 使用状态驱动26.1.1 延时驱动状态改变26.1.2 理解宏选项26.1.3 合并情景类型26.1.4 在标题中共享状态26.2 使用定位模板26.2.1 触发定位改变26.2.2 重新映射定位转换26.3 创建动作弹出菜单26.3.1 创建窗口26.3.2 添加按钮26.3.3 定义基本行为26.3.4 应用锚点26.4 小结第27章 利用组模板创建单位窗体27.1 模板的工作原理27.2 配置SecureGroupHeader27.3 SecureCroupPetHeader模板属性27.4 新建SecureGroupHeader27.5 定义XML模板27.6 添加行为脚本27.6.1 初始化窗体27.6.2 更新单位信息27.6.3 更新最大生命值27.6.4 添加拖拽支持27.7 测试BasicUnitFrames27.8 小结第Ⅳ部分 参考文献第28章 API参考文献28.1 API参考约定28.1.1 函数签名28.1.2 参数和返回列表28.2 API伪类型28.3 按字母排序的API列表第29章 API目录29.1 动作29.2 动作栏29.3 插件29.4 竞技场29.5 拍卖29.6 银行29.7 战场29.8 绑定29.9 增益29.10 摄像机29.11 频道29.12 聊天29.13 仅在中国使用的函数29.14 客户端29.15 战斗29.16 申诉29.17 容器29.18 手工艺29.19 光标29.20 配置变量29.21 调试29.22 阵营29.23 GM调查29.24 GM请求29.25 公会29.26公会银行29.27 查看29.28 副本29.29 物品栏29.30 物品29.31 物品链接29.32 物品文本29.33 知识库29.34 键盘29.35 寻求组队/寻求成员29.36 拾取29.37 Mac29.38 Macro29.39 邮件29.40 地图29.41 商人29.42 其他29.43 不同的单击29.44 金钱29.45 移动29.46 NPC29.47 小队29.48 宠物29.49 请求29.50 玩家29.51 配置29.52 PvP29.53 任务29.54 团队29.55 技能29.56 社交29.57 凹槽29.58 声音29.59 法术29.60 形态29.61 统计信息29.62 天赋29.63 目标29.64 飞行器29.65 跟踪29.66 交易29.67 交易技能29.68 训练师29.69 UI29.70 单位29.71 实用程序29.72 视频29.73 语音29.74 区域第30章 事件参考第31章 工具集参考31.1 工具集API31.1.1 UIObject31.1.2 FontInstance31.1.3 Region31.1.4 VisibleRegion31.1.5 LayeredRegion31.1.6 Font31.1.7 Texture31.1.8 FontString31.1.9 Frame31.1.10 GameTooltip31.1.11 EditBox31.1.12 Slider31.1.13 Model31.1.14 MessageFrame31.1.15 Cooldown31.1.16 ScrollFrame31.1.17 ColorSelect31.1.18 Minimap31.1.19 SimpleHTML31.1.20 ScrollingMessageFrame31.1.21 StatusBar31.1.22 Button31.1.23 PlayerModel31.1.24 CheckButton31.1.25 TabardModel31.1.26 DressUpModel31.2 处理程序列表第Ⅴ部分 附录附录A 发布插件附录B 利用版本控制系统跟踪历史记录附录C 最好的代码风格附录D 避免常见的错误附录E 使用插件库附录F 作者和插件社区附录G 词汇表 -


飞网下载站,免费下载共享资料,内容涉及教育资源、专业资料、IT资源、娱乐生活、经济管理、办公文书、游戏资料等。