《ActionScript3.0从入门到精通第1章课件》由会员分享,可在线阅读,更多相关《ActionScript3.0从入门到精通第1章课件(17页珍藏版)》请在金锄头文库上搜索。
1、第第1 1章章 ActionScript ActionScript概述概述ActionScript最初是由最初是由Macromedia(现已被(现已被Adobe收购)为收购)为其其Flash产品开发的一种简单脚本语言,现在最新版本为产品开发的一种简单脚本语言,现在最新版本为3.0(简称(简称AS3),已经成为一种完全面向对象(),已经成为一种完全面向对象(OOP)的编程语言。的编程语言。ActionScript是一种基于是一种基于ECMAScript的脚本语言,可用于的脚本语言,可用于编写编写Adobe Flash动画和应用程序。动画和应用程序。 由于由于ActionScript和和JavaS
2、cript都是基于都是基于ECMAScript语法的,理论上它们可语法的,理论上它们可以流畅地互相翻译以流畅地互相翻译 。但是,。但是,JavaScript的文档对象模型的文档对象模型(DOM)是以浏览器窗口、文档和表单为主的,)是以浏览器窗口、文档和表单为主的,ActionScript的文档对象模型则以的文档对象模型则以SWF格式的动画为主,格式的动画为主,包括动画、音频、文字和事件。包括动画、音频、文字和事件。 1.1 ActionScript 3.01.1 ActionScript 3.0简介简介ActionScript 3.0在使用时与以前在使用时与以前2个版本有很多相似之处,个版本有
3、很多相似之处,但是由于底层的不同,在理解内部机制时最好从全新的但是由于底层的不同,在理解内部机制时最好从全新的角度出发,尤其要注意不同版本的代码不能混用。一些角度出发,尤其要注意不同版本的代码不能混用。一些处理方法也发生了比较大的变化,比如事件模型,显示处理方法也发生了比较大的变化,比如事件模型,显示对象的方法等,接触过对象的方法等,接触过ActionScript 1.0或或ActionScript 2.0的读者要格外注意。的读者要格外注意。1.2 ActionScript 3.01.2 ActionScript 3.0开发环境开发环境使用使用ActionScript 3.0的第一步就是要安装
4、设置开发环境。的第一步就是要安装设置开发环境。本节将介绍本节将介绍ActionScript 3.0的几种常用开发环境,并简的几种常用开发环境,并简要说明各自的优缺点。对要说明各自的优缺点。对ActionScript 3.0开发环境比较开发环境比较熟悉的读者可以略过本节。熟悉的读者可以略过本节。1.2.1 Flash CS3/CS41.2.1 Flash CS3/CS4Flash CS3/CS4是官方支持是官方支持ActionScript 3.0的软件之一,同的软件之一,同时拥有强大的动画编辑和界面设计功能,被很多设计师时拥有强大的动画编辑和界面设计功能,被很多设计师和动画师所青睐,但对于和动画
5、师所青睐,但对于ActionScript 3.0程序员来说动程序员来说动画和设计界面并不是必须的。从编程角度来看,画和设计界面并不是必须的。从编程角度来看,Flash CS3也显得不够专业,如果单纯编写代码,还可以有更也显得不够专业,如果单纯编写代码,还可以有更好的选择。好的选择。1.2.2 Flex Builder 31.2.2 Flex Builder 3Flex最初是作为一个最初是作为一个J2EE应用(应用(JSP的标签库)的开发工的标签库)的开发工具。传统程序员在开发动画应用方面存在困难,最初的具。传统程序员在开发动画应用方面存在困难,最初的Flash平台就是因此而产生。平台就是因此而
6、产生。Flex则试图通过为程序员们则试图通过为程序员们提供一个已经熟知的工作流和编程模型来改善这个问题。提供一个已经熟知的工作流和编程模型来改善这个问题。1.2.3 FlashDevelop1.2.3 FlashDevelop与两款官方软件相比,与两款官方软件相比,FlashDevelop的优点显而易见。一的优点显而易见。一是它的小巧,安装后占用的磁盘空间只有是它的小巧,安装后占用的磁盘空间只有16MB;二是;二是它的开源,是完全免费的软件。虽然它的开源,是完全免费的软件。虽然FlashDevelop没有没有Flex Builder 3的功能强大,但以其快速的启动和反应速的功能强大,但以其快速
7、的启动和反应速度而深受广大用户青睐。度而深受广大用户青睐。1.2.4 FDT31.2.4 FDT3FDT3是由是由Powerflasher发布的一款基于开源发布的一款基于开源Eclipse平台的平台的第三方插件。第三方插件。FDT3分为分为FDT Basic、FDT Professional和和FDT Enterprise,功能最强的是,功能最强的是Enterprise版本,支持版本,支持Debugger、Advanced Refactoring等高级功能。等高级功能。FDT3的的代码错误提示即时完成,还集成了很多实用的开发特性,代码错误提示即时完成,还集成了很多实用的开发特性,只是在配置方面
8、较繁琐。由于同为基于只是在配置方面较繁琐。由于同为基于Eclipse开发的,开发的,因此因此FDT3与与Flex Builder 3比较相似。比较相似。 1.2.5 ActionScript 3.01.2.5 ActionScript 3.0编程软件的选择编程软件的选择考虑到读者的计算机配置各有不同,且较少进行重量级的考虑到读者的计算机配置各有不同,且较少进行重量级的程序开发,本书的实例多数使用编程和设计界面兼备的程序开发,本书的实例多数使用编程和设计界面兼备的Flash CS3进行示范,同时也以较少的实例示范在进行示范,同时也以较少的实例示范在Flex Builder 3中编写代码。至于其他
9、第三方软件,读者可在中编写代码。至于其他第三方软件,读者可在掌握两款官方软件的基础上尝试使用。掌握两款官方软件的基础上尝试使用。需要注意的是,需要注意的是,Flash和和Flex在编程时会有一些不同之处。在编程时会有一些不同之处。因为因为Flash和和Flex的编译器(的编译器(compilers)不同,所以同)不同,所以同一段代码无法保证在一段代码无法保证在Flash和和Flex环境下都能够编译成功。环境下都能够编译成功。此外,此外,Flash IDE可以独立制作库元件和显示对象(如可以独立制作库元件和显示对象(如MovieClip););Flex可以使用可以使用Embed标签而标签而Fla
10、sh不支持不支持(应开发者要求,目前最新版的(应开发者要求,目前最新版的Flash CS4也已经支持也已经支持Embed标签);标签);Flash和和Flex拥有不同的组件库。拥有不同的组件库。1.3 1.3 学习学习ActionScript 3.0ActionScript 3.0的一点建议的一点建议学习学习ActionScript不是一朝一夕的事情,正确认识语言特点,不是一朝一夕的事情,正确认识语言特点,掌握学习方法,能够大大提高学习效率。以下是笔者针掌握学习方法,能够大大提高学习效率。以下是笔者针对学习对学习ActionScript的一些建议,供读者参考。的一些建议,供读者参考。1.3.1
11、 1.3.1 使用帮助文档使用帮助文档在在Flash CS3中按【中按【F1】键,在】键,在Flex Builder 3中按【中按【Shift】+【F2】组合键,都可以打开相应的帮助文档。帮助文】组合键,都可以打开相应的帮助文档。帮助文档中提供了一些基本的教程,同时也可以作为工具书,档中提供了一些基本的教程,同时也可以作为工具书,检索类的属性、方法和事件并提供必要的实例。帮助文检索类的属性、方法和事件并提供必要的实例。帮助文档是学习档是学习ActionScript 3.0最好和最全面的工具书、参考最好和最全面的工具书、参考书。读者在阅读本书时,有必要经常查看帮助文档,了书。读者在阅读本书时,有
12、必要经常查看帮助文档,了解细节。解细节。ActionScript中的类、属性、方法、事件种类繁多,不胜枚中的类、属性、方法、事件种类繁多,不胜枚举,一些特殊的内容并不常用。因此,举,一些特殊的内容并不常用。因此,“背下背下”所有的所有的语句语法是不必要的,也是不现实的,重要的是掌握使语句语法是不必要的,也是不现实的,重要的是掌握使用工具书的方法。熟练之后,借助帮助文档就可以轻松用工具书的方法。熟练之后,借助帮助文档就可以轻松应对绝大部分问题。应对绝大部分问题。1.3.2 1.3.2 读适合自己的书读适合自己的书现在出版业发达,书籍翻译、出版的速度非常快,甚至网现在出版业发达,书籍翻译、出版的速
13、度非常快,甚至网上也有大量提供下载的电子图书。这种上也有大量提供下载的电子图书。这种“知识爆炸知识爆炸”的的现状令人感叹。面临的选择多了,难免会无从下手。对现状令人感叹。面临的选择多了,难免会无从下手。对于读者来说,最需要的还是应该找到一本适合自己的书。于读者来说,最需要的还是应该找到一本适合自己的书。在选择教材的时候首先要认识到,我们需要的是一本教科在选择教材的时候首先要认识到,我们需要的是一本教科书,而不是工具书。长篇罗列语句、语法往往难以满足书,而不是工具书。长篇罗列语句、语法往往难以满足学习要求。一方面这些内容在帮助文档中已经有更为充学习要求。一方面这些内容在帮助文档中已经有更为充分的
14、介绍和说明(从工具书的角度,没有比帮助文档更分的介绍和说明(从工具书的角度,没有比帮助文档更为方便、及时、全面的),另一方面也无法提供给读者为方便、及时、全面的),另一方面也无法提供给读者编程的思路。编程的思路。1.3.3 1.3.3 访问热门网站、社区访问热门网站、社区一些热门网站、社区是一些热门网站、社区是ActionScript开发人员的聚集地,不开发人员的聚集地,不时会有一些教程、使用技巧和心得的交流,同时也会对时会有一些教程、使用技巧和心得的交流,同时也会对即将更新的软件进行前瞻介绍。这些网站应该经常光顾,即将更新的软件进行前瞻介绍。这些网站应该经常光顾,保持与保持与“ActionS
15、cript社会社会”的信息同步。的信息同步。 1.3.4 1.3.4 关注博客关注博客很多开发者都会有自己的博客,博客中发表的文章也多是很多开发者都会有自己的博客,博客中发表的文章也多是对对ActionScript的真知灼见,甚至可能会提供多媒体教程的真知灼见,甚至可能会提供多媒体教程和源文件的下载。读者可以使用和源文件的下载。读者可以使用Google Reader阅读器阅读器(或其他(或其他RSS阅读器)订阅博客阅读器)订阅博客 。1.4 1.4 第一个第一个ActionScriptActionScript程序程序对基本背景有所了解之后,首先我们来运行第一个对基本背景有所了解之后,首先我们来
16、运行第一个ActionScript程序。程序。【例【例1-1】调用】调用trace函数输入字符串函数输入字符串 。(1)运行)运行Flash CS3程序。程序。(2)按快捷键【)按快捷键【Ctrl】+【N】新建一个】新建一个Flash文档。文档。(3)按快捷键【)按快捷键【Ctrl】+【S】,将文档存为】,将文档存为“例例1-1_trace.fla”。(4)按快捷键【)按快捷键【F9】,打开】,打开ActionScript面板,输入如下面板,输入如下代码。代码。/在输出栏中输出字符在输出栏中输出字符ActionScripttrace(ActionScript);1.4 1.4 第一个第一个Ac
17、tionScriptActionScript程序程序(5)按【)按【Ctrl】+【Enter】组合键测试,可以看到在输出】组合键测试,可以看到在输出面板中输出了字符串面板中输出了字符串“ActionScript”,如下图所示。,如下图所示。1.5 1.5 面向对象编程面向对象编程ActionScript最初是一种时序编程语言。脚本按顺序一步一最初是一种时序编程语言。脚本按顺序一步一步处理程序逻辑,指示步处理程序逻辑,指示Flash下一步要做什么。这种方式下一步要做什么。这种方式将处理过程顺序排列起来,非常不灵活,代码也很难重将处理过程顺序排列起来,非常不灵活,代码也很难重复利用。复利用。随着编
18、程语言的进化,时序编程逐渐发展为面向过程的编随着编程语言的进化,时序编程逐渐发展为面向过程的编程语言。与时序编程相似,面向过程编程仍然依赖于固程语言。与时序编程相似,面向过程编程仍然依赖于固定的处理顺序,但结构上较为复杂。例如,引入了函数定的处理顺序,但结构上较为复杂。例如,引入了函数(function),可以一次编辑反复引用,因此大幅度提),可以一次编辑反复引用,因此大幅度提高了代码效率。高了代码效率。1.5 1.5 面向对象编程面向对象编程为了进一步提高代码的可重用性、灵活性和扩展性,编程为了进一步提高代码的可重用性、灵活性和扩展性,编程人员逐渐将目光集中到了面向对象编程(人员逐渐将目光集
19、中到了面向对象编程(OOP)上。)上。OOP程序是一个对象(程序是一个对象(Object)的集合体,而对象则是)的集合体,而对象则是类(类(Class)的实例。对象包含各自的属性、方法和事)的实例。对象包含各自的属性、方法和事件,互不干扰。面向对象程序设计中的每一个对象都应件,互不干扰。面向对象程序设计中的每一个对象都应该能够接受数据、处理数据并将数据传达给其它对象,该能够接受数据、处理数据并将数据传达给其它对象,因此它们都可以被看作一个小型的因此它们都可以被看作一个小型的“机器机器”,或者说是,或者说是负有责任的角色。负有责任的角色。在实践中,面向对象程序设计提高了程序的灵活性和可维在实践中,面向对象程序设计提高了程序的灵活性和可维护性,并且在大型项目设计中广泛应用。狂热者推崇面护性,并且在大型项目设计中广泛应用。狂热者推崇面向对象编程更加便于学习,可以更简单地设计并维护程向对象编程更加便于学习,可以更简单地设计并维护程序,甚至无所不能。不过面向对象是否就是编程的终极序,甚至无所不能。不过面向对象是否就是编程的终极方法论,目前还没有公论。方法论,目前还没有公论。