ActionScript 3.0编程精髓
ActionScript 3.0编程精髓
Colin Moock
林吓洪 等译
出版时间:2008年05月
页数:782
本书极其透彻而详尽地介绍了ActionScript编程。如果你此前没有编程知识,那么本书将循序渐进地指引你开始精通ActionScript之旅。如果你对ActionScript有所了解,那么本书将帮助你填补知识空缺并规范地回顾重要概念。

ActionScript 3.0是Flash编程语言的一次重大升级。它更加高效、更加清晰,并且比先前版本更加完善。本书对理解ActionScript 3.0所需要的每个重要概念给出了易懂而细致的解释,对实现ActionScript 3.0的全部潜能提供了足够深入的讲解。

这是一本真正的开发者手册,囊括了实用的阐释、见解深刻的提示,并且通过上千份代码示例演示如何正确完成任务。在本书中,你将学到:

-对ActionScript语言核心的详尽介绍,包括面向对象编程、类、对象、变量、方法、函数、继承、数据类型、数组、事件、异常、作用域、命名空间、XML和安全。

-对可视化和交互编程主题的深入探索,例如显示API、层次化的事件处理、鼠标键盘的交互作用、动画、向量图、位图、文本,以及内容装载操作。

-对代码编写问题的实用建议,例如把ActionScript与使用Flash authoring tool手工制作的素材相结合,在Flex Builder 2中使用Flex框架,以及创建可重用的代码库。

作为Flash和ActionScript开发社区的第一手资源,很多人根据作者的名字将本书尊称为“The Colin Moock Book”。一个很好的理由就是:只有本书作者能够对ActionScript了解的如此透彻,熟知其微妙和能力,同时以平易近人的方式阐释每个细节。Moock多年的研究和实际编程经验,以及与Adobe内部工程师的紧密接触使得本书具有无以伦比的精确性和完备性。如果你想学习ActionScript 3.0,那么本书正是你需要的。
  1. 序言
  2. 前言
  3. 第一部分 ActionScript起步
  4. 第1章 核心概念
  5. 编写ActionScript代码的工具
  6. Flash 客户端运行时环境
  7. 编译
  8. 快速回顾
  9. 类和对象
  10. 创建一个程序
  11. 定义一个类
  12. 虚拟动物园简介
  13. 构造方法
  14. 创建对象
  15. 变量和值
  16. 构造参数和参量
  17. 表达式
  18. 把变量的值赋给另一个变量
  19. 宠物的一个实例变量
  20. 实例方法
  21. 方法与属性
  22. 虚拟动物园简介
  23. 休息时间
  24. 第2章 条件和循环
  25. 条件
  26. 循环
  27. 布尔逻辑
  28. 回到类和对象
  29. 第3章 重访实例方法
  30. 省略关键字this
  31. 绑定方法
  32. 使用方法检查并修改对象的状态
  33. 获取和设定方法
  34. 处理未知个数的参数
  35. 接下来:类层次信息和行为
  36. 第4章 静态变量和静态方法
  37. 静态变量
  38. 常量
  39. 静态方法
  40. Class对象
  41. C++和Java术语比较
  42. 继续到函数
  43. 第5章 函数
  44. 包层次函数
  45. 嵌套函数
  46. 源文件层次函数
  47. 从一个函数内部访问定义
  48. 函数作为值
  49. 函数字面量语法
  50. 递归函数
  51. 在虚拟动物园程序中使用函数
  52. 回到类
  53. 第6章 继承
  54. 继承入门
  55. 覆盖实例方法
  56. 子类中的构造方法
  57. 防止类被扩展和方法被覆盖
  58. 内建类的子类
  59. 继承的理论
  60. 不支持抽象
  61. 在虚拟动物园程序中使用继承
  62. 虚拟动物园程序代码
  63. 是运行的时候了!
  64. 第7章 编译并运行一个程序
  65. 用Flash Authoring Tool编译
  66. 用Flex Builder 2编译
  67. 用mxmlc编译
  68. 编译器限制
  69. 编译过程和类路径
  70. 严格模式对标准模式
  71. 乐趣还没有结束
  72. 第8章 数据类型和类型检查
  73. 数据类型和类型标注
  74. 无类型的变量、参数、返回值和表达式
  75. 严格模式的三种特殊情况
  76. 缺少类型标注警告
  77. 在编译期发现引用错误
  78. 转型
  79. 转换为原生类型
  80. 默认变量值
  81. null和undefined
  82. 在虚拟动物园中的数据类型
  83. 更多数据类型的学习将会出现
  84. 第9章 接口
  85. 接口的例子
  86. 接口和多数据类型类
  87. 接口语法和使用
  88. 另一个多类型的示例
  89. 第10章 语句和运算符
  90. 语句
  91. 运算符
  92. 接下来:管理信息链表
  93. 第11章 数组
  94. 什么是数组
  95. 剖析一个数组
  96. 创建数组
  97. 引用数组元素
  98. 确定一个数组的大小
  99. 给一个数组增加元素
  100. 从一个数组中移除元素
  101. 用toString()方法检查一个数组的内容
  102. 多维数组
  103. 前往事件
  104. 第12章 事件和事件处理
  105. ActionScript事件基础知识
  106. 访问目标对象
  107. 访问注册监听器的对象
  108. 阻止默认的事件行为
  109. 事件监听优先级
  110. 事件监听和内存管理
  111. 自定义事件
  112. 在ActionScript的事件体系结构中的类型弱点
  113. 跨越安全界限处理事件
  114. 接下来是什么
  115. 第13章 异常和错误处理
  116. 异常处理周期
  117. 处理多个类型的异常
  118. 异常冒泡
  119. finally块
  120. 嵌套异常
  121. 在try/catch/finally中的控制流变化
  122. 处理一个内建异常
  123. 更多的艰辛工作在前头
  124. 第14章 垃圾回收
  125. 垃圾回收的适宜对象
  126. 增量标记和扫除
  127. 蓄意的对象处理
  128. 使对象不活动
  129. 垃圾回收示范
  130. 在ActionScript的边缘地带
  131. 第15章 动态的ActionScript
  132. 动态实例变量
  133. 给一个实例动态地增加新行为
  134. 动态引用变量和方法
  135. 使用动态实例变量创建查询表
  136. 使用函数创建对象
  137. 使用原型对象来增大类
  138. 原型链
  139. 前进
  140. 第16章 作用域
  141. 全局作用域
  142. 类作用域
  143. 静态方法作用域
  144. 实例方法作用域
  145. 函数作用域
  146. 作用域总结
  147. 内部细节
  148. 用with语句扩展作用域链
  149. 前往命名空间
  150. 第17章 命名空间
  151. 命名空间词汇表
  152. ActionScript的命名空间
  153. 创建命名空间
  154. 使用一个命名空间来限定变量和方法定义
  155. 限定标识符
  156. 一个功能命名空间示例
  157. 命名空间可访问性
  158. 限定标识符的可见性
  159. 比较限定标识符
  160. 赋给和传递命名空间值
  161. 开放命名空间和use namespace指令
  162. 访问控制修饰语的命名空间
  163. 应用命名空间的示例
  164. 最后的核心主题
  165. 第18章 XML和E4X
  166. 理解XML数据为一种层次结构
  167. 在E4X中表示XML数据
  168. 用E4X创建XML数据
  169. 访问XML数据
  170. 用for-each-in和for-in处理XML
  171. 访问子孙
  172. 过滤XML数据
  173. 遍历XML树
  174. 改变或创建新的XML内容
  175. 装载XML数据
  176. 使用XML命名空间
  177. 转换XML和XMLList为一个字符串
  178. 在E4X中的确定等号
  179. 更多要学习的
  180. 第19章 Flash Player安全限定
  181. 本章中没有什么
  182. 本地范围、远程范围和远程区域
  183. 安全沙盒类型
  184. 安全概括可能是有害的
  185. 在内容装载、内容作为数据访问、交叉脚本控制和数据装载上的限定
  186. 套接字安全
  187. 示例安全情形
  188. 选择一个本地安全沙盒类型
  189. 发布者许可(政策文件)
  190. 创建者许可(allowDomain())
  191. 导入装载
  192. 处理安全违规
  193. 安全域
  194. 两个常见的安全相关的开发问题
  195. 前往第二部分
  196. 第二部分 显示和交互作用
  197. 第20章 显示API和显示列表
  198. 显示API概览
  199. 显示列表
  200. 包含事件
  201. 自定义图形类
  202. 与事件流一起行进
  203. 第21章 事件和显示的层次结构
  204. 层次的事件调度
  205. 事件调度阶段
  206. 事件监听器和事件流
  207. 使用事件流来集中代码
  208. 确定当前的事件阶段
  209. 区分以一个对象为目标的事件和以该对象的后裔为目标的事件
  210. 停止一次事件调度
  211. 事件优先级和事件流
  212. 显示层次结构转变和事件流
  213. 自定义事件和事件流
  214. 前往输入事件
  215. 第22章 交互作用
  216. 鼠标输入事件
  217. 聚焦事件
  218. 键盘输入事件
  219. 文本输入事件
  220. Flash Player层输入事件
  221. 从程序到屏幕
  222. 第23章 屏幕更新
  223. 预定的屏幕更新
  224. 事件后屏幕更新
  225. 重绘区域
  226. 用Event.RENDER优化
  227. 让我们使它移动
  228. 第24章 程序动画
  229. 没有循环
  230. 用ENTER_FRAME事件做动画
  231. 用TimerEvent.TIMER做动画
  232. 在Timer和Event.ENTER_FRAME之间选择
  233. 一个一般化动画制作器
  234. 基于速度的动画
  235. 前往笔划和填充
  236. 第25章 用矢量绘图
  237. Graphics类概览
  238. 绘制直线
  239. 绘制曲线
  240. 绘制形状
  241. 移除矢量内容
  242. 示例:一个面向对象的形状库
  243. 从线条到像素
  244. 第26章 位图编程
  245. BitmapData和Bitmap类
  246. 像素颜色值
  247. 创建一个新的位图图像
  248. 装载一个外部的位图图像
  249. 检验一幅位图
  250. 修改一幅位图
  251. 拷贝图形到一个BitmapData对象
  252. 运用滤镜和特效
  253. 释放被位图使用的内存
  254. 文字、文字、文字
  255. 第27章 文本显示和输入
  256. 创建和显示文本
  257. 修改一个文本域的内容
  258. 格式化文本域
  259. 字体和文本描绘
  260. 缺失字体和图像字符
  261. 确定字体可用性
  262. 确定图像字符的可用性
  263. 嵌套文本描绘
  264. 文本域输入
  265. 文本域和Flash Authoring Tool
  266. 装载……请稍候……
  267. 第28章 装载外部显示资源
  268. 使用Loader在运行期装载显示资源
  269. 运行期装载资源的编译期类型检查
  270. 访问在多帧.swf文件中的资源
  271. 实例化一个运行期装载的资源
  272. 使用Socket在运行期装载显示资源
  273. 移除运行期装载的.swf资源
  274. 在编译期嵌套显示对象
  275. 前往第三部分
  276. 第三部分 实用的ActionScript主题
  277. 第29章 ActionScript和Flash Authoring Tool
  278. Flash文件
  279. 时间线脚本
  280. 文件类
  281. 符号和实例
  282. Movie Clip符号的连接类
  283. 访问手工创建的符号实例
  284. 访问手工创建的文本
  285. 程序上的时间线控制
  286. 通过ActionScript实例化Flash制作的符号
  287. 从程序上创建的显示对象的实例名字
  288. 连接多个符号到单个超类
  289. 可供选择的基于组合的连接类
  290. 预载入类
  291. 接下来:使用Flex框架
  292. 第30章 一个最小的MXML应用程序
  293. 通用方法
  294. 一个真实的UI组件示例
  295. 和你的朋友们共享
  296. 第31章 发布一个类库
  297. 共享类源文件
  298. 以一个.swc文件来发布一个类库
  299. 以一个.swf文件来发布一个类库
  300. 但是它真的完结了吗
  301. 附录 最终的虚拟动物园
书名:ActionScript 3.0编程精髓
作者:Colin Moock
译者:林吓洪 等译
国内出版社:机械工业出版社
出版时间:2008年05月
页数:782
书号:978-7-111-23992-5
原版书出版商:O'Reilly Media
Colin Moock
 
Colin Moock自1995年开始从事Web的研究、设计和开发工作。Colin在1997年之前任SoftQuad公司(HoTMetaL PRO的制造者)的站点管理员。他现在是ICE的Web工作者,他的大部分时间用在编写Web代码,在会议上发表讲话,以及为诸如Sony, Levi's,Nortel,Air Canada和Hewlett-Packard公司创建交互内容上。Colin为Flash开发者提供的出色的Flash作品和支持站点,使他在 Flash开发者群体中享有很高的声誉。Macromedia公司已经在官方的Web站点上正式承认他为Flash专家,并且委任他为Flash顾问委员会的成员之一。Colin是《The Flash 4 Bible》和《The Flash 5 Bible》的合作者。
Colin Moock是一位独立的ActionScript专家,自从1999年以来他闻名于世的书已经教育了许多Flash程序员。他是权威的《Essential ActionScript 2.0 (O誖eilly, 2004)》和《ActionScript for Flash MX: The Definitive Guide (O誖eilly, 2003, 2001)》的作者。Moock运营着网络上最悠久的Flash开发网站之一:www.moock.org,并且是Unity的共同创作者,Unity是用于创建多用户应用程序的一个客户端/服务端(Client/Server)框架。
 
 
本书封面上的动物是珊瑚蛇(Micrurus fulvius tenere)。这种极为危险的蛇出现在北美洲东南部的国家,也出现在墨西哥。它喜欢潮湿和枝叶繁密的树木,但能在任何环境中找到。

珊瑚蛇通过其鲜艳的红色、黄色和黑色条纹来辨认。这些颜色可以吓退可能的攻击者。它的头部和尾部是黑色和黄色条纹;中间部分是黑色、黄色和红色条纹。红色条纹总是和黄色相邻。一条蛇的平均长度为24英寸,最大长度达47英寸。珊瑚蛇是北美洲中唯一从蛋中孵化出幼体的毒蛇。

珊瑚蛇拥有短而带钩的中空毒牙,位于嘴部的前面。它们以蜥蜴和其他蛇类为食。珊瑚蛇咬破它们的猎物并注入毒害神经的毒液,从而使受害者瘫痪;然而,和毒蛇家族的其他蛇不同,它采用一种刺入方法。当一条珊瑚蛇咬破它的受害者的时候,它会保持很长一段时间以注入尽可能多的毒液。珊瑚蛇极为罕见,由于它们习惯居住在地下或者裂缝裂隙中,并且喜欢夜间活动。珊瑚蛇通常不会咬人,除非被触碰。由于被珊瑚蛇咬伤是致命的,如果人或者宠物被咬到,应该尽可能快地采取治疗措施。