二十年来,多媒体技术飞速发展,已成为计算机和网络的必备功能。伴随而来的是媒体制作工具的应运而生,使得声、文、图的制作和表现得以更为快捷地实现。本人从1991年介入多媒体技术,最初是用命令行编写多媒体演示程序,其后也参与过多媒体制作工具的研发,对多媒体制作的困难深有感受,也一直期盼着灵活方便、功能齐全,特别适合于网络互动的媒体制作工具。Flash的出现,正好满足了这种迫切的需求。
Flash的前身是Future Wave公司开发的Future Splash Animator,是一个基于矢量的动画制作软件。Flash是2D动画制作不可或缺的工具,它以色彩、形态、音效和音乐展现媒体技术的魅力。经过多年的发展,Adobe Flash已经集矢量绘图、动画制作、多媒体集成、人机交互、网络通信、数据处理等功能于一身。其面向对象的脚本语言ActionScript亦在发展中走向成熟,成为Flash互动程序的核心部分。在拥有强大功能的同时,Flash还具有良好的网络特性和简单易用性等特点,这就使我们不难理解为何Flash成了网络互动多媒体的事实标准,成了在线游戏程序开发的首选平台。而且,随着网页游戏的兴起,以及手机作为多媒体娱乐终端的作用越来越被人们所认识,Flash的应用还将被推向更广阔的领域。本书就是专门为有志于从事专业Flash游戏开发的程序员编写的标准教材。
本书作者从事Flash游戏开发与教学工作已经有8年的历史,积累了丰富的编程和教学经验。在编写本教材的过程中,更是废寝忘食,严谨求实。付出的心血终于换来了丰硕的成果:循序渐进的内容安排给Flash程序初学者充分的适应过程;针对游戏开发进行裁剪的参考表给已经有一定基础的程序员提供高效实用的编程参考;通盘分析以及专题讲解又将读者对Flash游戏开发的宏观和微观认识提高到新的层次;经典的实例为读者提供实战机会,而且这些代码还可以在实际项目开发中提供良好的参考。总之,本书作者成功地将知识和实战经验融合在一本教材里,内容全面、精炼,富有启发性,是一本不可多得的好书。
本书适合作为高校、游戏学院以及各种培训机构Flash游戏开发课程的教材,亦适合作为自学Flash游戏编程的教材,还是非常实用的参考书。
蔡莲红
2008年11月,于清华大学
这是一本集知识、技能、经验、理念和启发性思维于一体的Flash游戏编程教材。它既教你如何做,又告诉你为何这样做,配合经典的案例和详细的分析,使得这本教材在保持思想深刻的同时,又能够深入浅出、通俗易懂。相信读者在研读此书之后,将建立起一个完整的Flash游戏编程的知识体系,再开发自己的Flash游戏,就可以得心应手、游刃有余,这也是作者编写此书的目的所在。
在内容安排上,本书从大处着眼,统领全局,小处着手,具体而微,内容安排上则由浅入深、循序渐进,遵循读者认知规律。第1章是Flash游戏概述,使读者对Flash游戏的制作以及Flash的开发环境有一个总体的认识。第2章是ActionScript编程基础,先介绍Flash的开发环境,然后以最简单的程序开始由浅入深地讲解ActionScript游戏编程各方面的知识,以解决游戏编程技术上的问题。第3章讲解面向对象程序设计在ActionScript语言中的实现。第4章讲解各种方式的网络通信概念及其实现方式。掌握这些基础知识后,本书在第5章介绍游戏开发项目的一些经验,并将其作为学习游戏构造的先导。第6章讲解游戏的构造,“拆卸”Flash游戏,将复杂的游戏分解成一个个小的、在各种游戏中具有代表性的组成部分,对这些组成部分进行分析并配备完整的游戏实例进行讲解。第7章则通过几个经典游戏案例,提供给读者更多的实战机会。最后附录中给出了各种参考表,可在编程时随手翻阅。
本书既可作为高校以及游戏学院Flash游戏编程课程的教材,又可作为各种专业游戏培训机构的教材。它更是广大自学Flash游戏编程爱好者不可多得的编程助手、游戏开发者的贴身伴侣。
一般要求读者具有基本的类C语言编程技能,具有相当于国家计算机能力考试二级的计算机基础知识以及编程水平。
清华大学计算机系蔡莲红教授对作者的编写过程给予了悉心指导,闽江学院重点学科对本书的编写也给予了鼎力支持,闽江学院电子系黄萍为本书提供了多个原创图标,在此一并表示感谢。
书中不足之处在所难免,欢迎读者提出宝贵意见,以便再版时加以修订。
本书约定的概念与规则有以下几点。
Flash程序、Flash作品:SWF格式的Flash目标文件,当讲解脚本时称为程序,当讲解设计时称为作品,总之,它们指代的是同一种东西。
主时间轴:可视对象层次结构中的最顶层节点,也就是新建Flash文档后所看到的那个时间轴层次,它的本质就是一个影片剪辑,其时间轴被经常使用到,所以用主时间轴指 代它。
脚本、代码:都是指代用ActionScript编写的代码。
AS2、AS3:分别为ActionScript 2.0与ActionScript 3.0的简化写法。
黑方括号“【】”表示菜单项,菜单与子菜单项之间用竖线“|”分割。例如【文件】|【新建】表示选择文件菜单下的新建子菜单。
组合键之间用“+”连接,例如按Ctrl+Enter组合键表示按住Ctrl键的同时按下Enter键。