《flash-cs3第十章PPT.ppt》由会员分享,可在线阅读,更多相关《flash-cs3第十章PPT.ppt(38页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第10章ActionScript3.0入门n nActionScript3.0简介n nActionScript3.0语法规则n nActionScript3.0的基本元素n n输入代码的两种方法n n处理对象10.1ActionScript3.0简介n n增强处理运行错误的能力:增强处理运行错误的能力:增强处理运行错误的能力:增强处理运行错误的能力:运行错误的提示列出了出错的源文运行错误的提示列出了出错的源文件和以数字提示的时间线,帮助开发者迅速地找到产生错误的件和以数字提示的时间线,帮助开发者迅速地找到产生错误的位置。位置。n n类封装:类封装:类封装:类封装:ActionScriptAc
2、tionScript3.03.0引入了密封的类的概念,在编译时间引入了密封的类的概念,在编译时间内的密封类拥有唯一固定的特征和方法,其他的特征和方法不内的密封类拥有唯一固定的特征和方法,其他的特征和方法不可能被加入。因而提高了对内出名的使用效率,避免了为每一可能被加入。因而提高了对内出名的使用效率,避免了为每一个对象实例增加内在的杂乱指令。个对象实例增加内在的杂乱指令。n n命名空间:命名空间:命名空间:命名空间:不但在不但在xmlxml中支持命名空间而且在类的定义中也同样中支持命名空间而且在类的定义中也同样支持。支持。n n运行时变量类型检测:运行时变量类型检测:运行时变量类型检测:运行时变
3、量类型检测:在回放时会检测变量的类型是否合法。在回放时会检测变量的类型是否合法。n nintint和和和和uintuint数据类型:数据类型:数据类型:数据类型:新的数据变量类型允许新的数据变量类型允许ActionScriptActionScript使用更使用更快的整型数据来进行计算。快的整型数据来进行计算。n n新的显示列表模式和事件类型模式:新的显示列表模式和事件类型模式:新的显示列表模式和事件类型模式:新的显示列表模式和事件类型模式:一个新的、自由度较大的一个新的、自由度较大的管理屏幕上显示对象的方法。一个新的基于侦听器事件的模式。管理屏幕上显示对象的方法。一个新的基于侦听器事件的模式。
4、总体来说ActionScript3.0的新特性如下。10.2ActionScript语法规则要使ActionScript语句能够正常运行,就必须按照正确的语法规则进行编写。1字母的大小写在ActionScript中除了关键字区分大小写外,其他的ActionScript语句大小写可以混用,但根据书写规范进行输入,可以使ActionScript语句更容易阅读。2点语法在ActionScript语句中,点“.”用于指示与对象相关的属性或方法。通过点语法可以引用类的属性或方法,例如:/新建一个空对象,将其引用赋值给变量CompanyvarCompany:Object=;/新增一个属性name,将字符串
5、“企鹅”赋值给它Company.name=企鹅;/输出“企鹅”trace(Company.name);3括号和分号在ActionScript中大括号“”、小括号“()”和分号“;”各有其作用。n n大括号:大括号:大括号:大括号:用于将代码分成不同的块。例如:用于将代码分成不同的块。例如:vara:int=5;/声明一个int型变量a并为其赋值5if(a0)/如果a大于0trace(“正数”);/输出“正数”else/否则trace(“负数”);/输出“负数”n n小括号:小括号:小括号:小括号:通常用于放置使用动作时的参数,在定义或调用函数通常用于放置使用动作时的参数,在定义或调用函数时都要
6、使用小括号。例如:时都要使用小括号。例如:trace(“读者你好!”);/输出“读者你好!”n n分号:分号:分号:分号:在在ActionScriptActionScript语句的结束处添加分号,表示该语句结束。语句的结束处添加分号,表示该语句结束。虽然不添加分号也可以正常运行虽然不添加分号也可以正常运行ActionScriptActionScript语句,但使用分号语句,但使用分号可以使可以使ActionScriptActionScript语句更易于阅读。语句更易于阅读。4注释在ActionScript语句的后面添加注释有助于用户理解动作脚本的含义,以及向其他开发人员提供信息。添加注释的方法
7、是先输入两个斜杠“/”,然后输入注释的内容即可。注释以灰色显示,长度不受限制,也不会影响ActionScript语句的执行。5标识符和关键字现实生活中,所有事物都有自己的名字,从而与其他事物区别开。在程序设计中,也常常用一个记号对变量、方法和类等进行标识,这个记号就称为标识符。标识符的命名必需符合一定的规范,在ActionScript语言中,标识符的第一个字符必须为字母、下划线“_”或美元符号“$”,后面的字符可以是数字、字母、下划线或美元符号。asbreakcasecatchfalseclassconstcontinuedefaultdeletedoelseextendsfalsefinal
8、lyforfunctionifimplementsimportininstanceofinterfaceintemalisnaitvenewnullpackageprivateprotectedpubicreturnsuperswitchthisthrowtotruetrytypeofusevarvoidwhilewithActionScript保留了一些单词用于特定用途,例如变量、函数或标签名称,它们不能用作标识符,我们称其为关键字。10.3输入代码的两种方法10.3.1在关键帧中输入代码在FlashCS3中,可以为主时间轴、按钮元件或影片剪辑元件内的任意关键帧添加代码,播放动画时播放到添加
9、代码的关键帧即可执行该代码。要为关键帧添加代码,可先选中关键帧,然后选择“窗口”“动作”菜单或按【F9】键,打开“动作”面板。“动作”面板主要由三部分组成,其中,动作工具箱分类存放着ActionScript的大部分语句;脚本导航器中列出了当前选定对象的名称和位置等属性;“脚本”窗格用来供用户输入和编辑代码。“动作”面板脚本命令列表框对象查看列表框按钮区域脚本输入窗口在“动作”面板上方“按钮区域”中的按钮,有些需要输入代码后才会被激活,它们各自的作用如下。n n“将新项目添加到脚本中将新项目添加到脚本中将新项目添加到脚本中将新项目添加到脚本中”按钮按钮按钮按钮 :单击单击“将新项目添加到脚将新项
10、目添加到脚本中本中”按钮可在展开的下拉菜单中选择需要添加的按钮可在展开的下拉菜单中选择需要添加的ActionScriptActionScript语句。语句。n n“查找查找查找查找”按钮按钮按钮按钮 :单击单击“查找查找”按钮可查找指定的字符串并对按钮可查找指定的字符串并对指定的字符串进行替换。指定的字符串进行替换。n n“插入目标路径插入目标路径插入目标路径插入目标路径”按钮按钮按钮按钮 :单击单击“插入目标路径插入目标路径”按钮可在编按钮可在编辑语句时插入一个目标对象的路径。辑语句时插入一个目标对象的路径。n n“语法检查语法检查语法检查语法检查”按钮按钮按钮按钮 :单击单击“语法检查语法
11、检查”按钮可检查当前语句按钮可检查当前语句的语法是否正确,并给出提示。的语法是否正确,并给出提示。n n“自动套用格式自动套用格式自动套用格式自动套用格式”按钮按钮按钮按钮 :单击单击“自动套用格式自动套用格式”按钮可使当按钮可使当前语句按标准格式排列。前语句按标准格式排列。n n“显示代码提示显示代码提示显示代码提示显示代码提示”按钮按钮按钮按钮 :当鼠标光标定位到某某一位置时,当鼠标光标定位到某某一位置时,单击单击“显示代码提示显示代码提示”按钮可显示所在语句的语法格式和相关的按钮可显示所在语句的语法格式和相关的提示信息。提示信息。n n“调试选项调试选项调试选项调试选项”按钮按钮按钮按钮
12、 :单击单击“调试选项调试选项”按钮可对当前语句进按钮可对当前语句进行调试。行调试。n n“折叠成对大括号折叠成对大括号折叠成对大括号折叠成对大括号”按钮按钮按钮按钮 :单击单击“折叠成对大括号折叠成对大括号”按钮可按钮可将大括号中的语句折叠起来。将大括号中的语句折叠起来。n n“折叠所选折叠所选折叠所选折叠所选”按钮按钮按钮按钮 :单击:单击“折叠所选折叠所选”按钮可将选中的语句按钮可将选中的语句折叠起来。折叠起来。n n“展开全部展开全部展开全部展开全部”按钮按钮按钮按钮:单击单击“展开全部展开全部”按钮可将折叠的语句按钮可将折叠的语句全部展开。全部展开。n n“脚本助手脚本助手脚本助手脚
13、本助手”按钮按钮按钮按钮 :单击单击“脚本助手脚本助手”按钮可开启或按钮可开启或关闭关闭“脚本助手脚本助手”模式。当开启模式。当开启“脚本助手脚本助手”模式时为对象添模式时为对象添加语句,加语句,FlashFlash会自动安排语句格式。会自动安排语句格式。n n展开展开“动作动作”面板的脚本命令列表框,双击需要面板的脚本命令列表框,双击需要的语句进行添加。的语句进行添加。n n展开展开“动作动作”面板的面板的“脚本命令列表框脚本命令列表框”,将需,将需要的语句拖到要的语句拖到“脚本输入窗口脚本输入窗口”。n n直接在直接在“脚本输入窗口脚本输入窗口”中输入语句。中输入语句。n n单击单击“动作
14、动作”面板面板“按钮区域按钮区域”中的中的“将新项目将新项目添加到脚本中添加到脚本中”按钮,从展开的下拉菜单中选择按钮,从展开的下拉菜单中选择要添加的动作语句。要添加的动作语句。在“动作”面板中可以通过下列任意一种方法添加ActionScript语句。下面以一个简单的实例介绍在在关键帧中输入代码的具体操作。在“动作”面板中输入代码“输出”面板中的文字1.新建一个Flash(ActionScript3.0)文档,单击选中“图层1”的第1帧,然后按【F9】键开“动作”面板,并在右侧的“脚本输入窗口”中输入代码。2.按快捷键【Ctrl+Enter】测试影片,会在“输出”面板中显示“第一个编程实例”。
15、10.3.2创建单独的ActionScript文件ActionScript3.0可以将外部的ActionScript类文件和fla文件绑定,编译时将SWF文件看成是这个类的一个实例。当构建较大的应用程序或包含重要的ActionScript代码时,最好在单独创建的ActionScript源文件(扩展名为as的文本文件)中组织代码,从而方便程序的维护。创建ActionScript文件1.新建一个Flash(ActionScript3.0)文档,并将其保存为“first.fla”。然后创建一个ActionScript文件。在ActionScript文件中输入代码在“文档类”编辑框中输入文件名2.将新
16、建的ActionScript文件存为“第一个.as”,并和“first.fla”文件放置在同一目录,然后在“第一个.as”文档中输入代码。3.切换回“first.fla”文档,在“属性”面板的“文档类”编辑框中输入文字“第一个”。4.对“first.fla”文档进行保存,并按快捷键【Ctrl+Enter】测试影片,会看到一个空白的FlashPlayer窗口,和一个“输出”面板,面板中显示“第一个编程实例”。10.4ActionScript3.0的基本元素10.4.1数据类型ActionScript3.0中的数据可分为简单数据类型和复杂数据类型。简单数据类型表示单条信息,如单个数字或单个文本序列
17、。在ActionScript3.0中常用的简单数据类型主要有布尔值(Boolean)、数字(int、uint、Number)和字符串(String)三种:n nBooleanBoolean:用来表示真假的数据类型,它只有用来表示真假的数据类型,它只有truetrue(真)(真)和和falsefalse(假)两个值。(假)两个值。n nintint、uintuint、NumberNumber:它们都是表示数字值的数据类型,它们都是表示数字值的数据类型,其中其中intint和和uintuint表示整数型数值(表示整数型数值(uintuint为不带负号的整数);为不带负号的整数);NumberNum
18、ber表示浮点数,浮点数在计算机中用来近似表示任表示浮点数,浮点数在计算机中用来近似表示任意某个数值。意某个数值。n nStringString:表示表示UnicodeUnicode字符集中的符号,即通常说的文本字符集中的符号,即通常说的文本型数据,例如一个名称或书中某一章的文字。型数据,例如一个名称或书中某一章的文字。n nMovieCilpMovieCilp:影片剪辑元件。影片剪辑元件。n nTextFieldTextField:动态文本字段或输入文本字段。动态文本字段或输入文本字段。n nSimpieButtonSimpieButton:按钮元件。按钮元件。n nDateDate:日期和
19、时间。日期和时间。ActionScript3.0中定义的大部分数据类型都可以被描述为复杂数据类型,因为它们表示组合在一起的一组值。常用的复杂数据类型有:10.4.2变量在ActionScript中变量用于存储信息,它可以在保持原有名称的情况下使其包含的值随特定的条件改变。1声明变量的语法一个变量包含变量名、数据类型和值3个部分。可以在声明变量时为变量赋值,变量的值可以是字符串、数字、数组、对象、xml和日期,也可以是自己创建的自定义类。在ActionScript3.0中声明变量的格式如下。var变量名:数据类型;var变量名:数据类型=值;var是一个关键字,用来声明变量。变量的数据类型写在冒
20、号后。若要为变量赋值,则值的数据类型必须和变量的数据类型一致;若不为变量赋值,则变量将根据数据类型赋予默认值。例如:varM:int;varN:int=100;其中“varM:int”声明了一个int型变量但没有赋值,所以会使用默认值;“varN:int=100”声明了一个int型变量,并为其赋值“100”。2变量的命名规则变量的命名规则不仅是为了让编写的代码符合语法,更重要的是增强代码的可读性,标准清晰的命名是优秀代码的必备条件。在为变量命名时应遵循以下规则。n n变量名必须符合标识符命名原则。变量名必须符合标识符命名原则。n n在一个在一个FlashFlash文件中变量名必须是唯一的。文件
21、中变量名必须是唯一的。n n变量名不能是关键字或变量名不能是关键字或ActionScriptActionScript文本。这里的文本。这里的ActionScriptActionScript文本是指直接出现在代码中的值,如文本是指直接出现在代码中的值,如truetrue、falsefalse、nullnull或或undefinedundefined等。等。n n变量名区分大小写。如果一个变量名由多个单词构成,第变量名区分大小写。如果一个变量名由多个单词构成,第一个单词为小写,第二个单词首字母大写,如一个单词为小写,第二个单词首字母大写,如anIntanInt。n n变量不能是变量不能是Actio
22、nScriptActionScript语法中的任何元素,例如类名称。语法中的任何元素,例如类名称。3变量的默认值若声明了一个变量,却没有为其赋值,则系统会自动为该变量赋予一个默认值,该默认值取决于变量的数据类型。数值类型默认值BooleanfalseInt0NumberNaNObjectnullStringnullUint0未声明(与类型注释*等效)undefined其他所有类(包括用户自定义的类)null10.4.3常量常量是指具有固定属性的数值,在FlashCS3中可以使用新增的const关键字声明常量。常量只能进行一次赋值,并且赋值之后不能在其他语句中进行更改。在ActionScript
23、3.0中常量全部使用大写字母,其声明语法与使用var生命变量的语法格式完全相同,只是将var换成了Const,如:ConstK:int=80;表示声明了一个int型常量K,并为其赋值“80”。10.4.4运算符运算符必须有运算对象才能进行运算。运算符和运算对象的组合称为表达式,每个表达式都会产生一个值,这个值就是就是表达式的值。1赋值运算符赋值运算符“=”是最常用的运算符,它可以将自身右侧的值赋给左侧的变量。常见的赋值运算符形式如下。vart:int=7/声明新变量时赋vars:stringm=“new”/对已声明的变量赋值n=5+10-7/将右侧表达式的值赋给nvara:object=new
24、object();/新建一个对象,将其引用赋值给新变量avarb:object=a;/将a所持有对象的引用赋值给b,使a、b指向一个对象2算数运算符数学运算符就是平时所使用的加、减、乘、除等数学运算符号,其运算形式如下。vara:int=5;varb:int=10;trace(a+b);/输出:153关系运算符关系运算符就是大于()、小于(=)和小于等于(=)。关系运算符左侧不一定是变量,也可以是表达式,其运算结果是Boolean值,要么是true,要么是false。varm:int=5;varn:string=“7”;trace(mt);/输出:false。布尔值t此时被转换成数值1了如果非
25、数值的运算对象无法转换成数值,那么这个表达式的值为false;若运算符两侧的对象都是字符串的话,则将按照从左到右的字母顺序逐个进行比较。4逻辑运算符逻辑运算符包括AND运算符(&)、逻辑OR运算符(|)和逻辑NOT(!)3种。逻辑运算符左右两边的对象可以是变量或函数返回值,也可以使表达式。例如:varjudge:uint=20;/使用|规定judge大于15或小于30才能返回true,满足if条件if(judge15)|(judge30)trace(对);elsetrace(错);/输出:对10.4.5函数函数是ActionScript3.0中执行特定任务并可以在程序中反复使用的代码块,常见的
26、函数有方法和函数封包两类。1调用函数FlashCS3本身拥有一些函数,在编程过程中要使用这些函数直接调用即可。例如:trace(“ActionScript3.0入门”);/trace是Flash的顶级函数,会经常用到。测试动画时,在“输出”面板中显示“ActionScript3.0入门”varrandomNum:Number=Math.random();/如果调用的函数没有参数,则必须在其右侧输入小括号。Math.random()函数表示生成一个随机数,然后赋值给randomNum变量。2自定义函数在ActionScript3.0中使用函数语句或函数表达式可以自定义函数。若采用静态或严格模式的
27、编程方法,则应使用函数语句来定义函数;若采用动态或标准模式的编程方法,则应使用函数表达式定义函数。n n函数语句:函数语句:函数语句:函数语句:函数语句的语法结构如下。函数语句的语法结构如下。function函数名(参数1:参数类型,参数2:参数类型):返回值类型函数体,调用函数时要执行的代码示例:functiontomorrow(peter0:String)trace(peter0:String);tomorrow(“hello”);/输出“hello”n n函数表达式:函数表达式:函数表达式:函数表达式:定义函数也就是在程序中声明函数,函数表定义函数也就是在程序中声明函数,函数表达式结合使
28、用了赋值语句,其语法结构如下。达式结合使用了赋值语句,其语法结构如下。var函数名Function=function(参数1:参数类型,参数2:参数类型):返回值类型函数体,调用函数时要执行的代码示例:vartomorrow:Function=function(pe:String)trace(pe);tomorrow(“hello”);/输出“hello”n n从函数中返回值:从函数中返回值:从函数中返回值:从函数中返回值:使用使用returnreturn语句可以从函数中返回表达语句可以从函数中返回表达式或字面值,但式或字面值,但returnreturn语句会终止该函数,位于语句会终止该函数,
29、位于returnreturn语语句后面的任何语句都不会被执行。此外,在严格模式下编句后面的任何语句都不会被执行。此外,在严格模式下编程时,若选择了指定返回类型,则必须返回相应类型的值。程时,若选择了指定返回类型,则必须返回相应类型的值。例如:例如:functiondoubleNum(singleNum:int):intreturn(singleNum+10);/返回一个表示参数的表达式10.5处理对象10.5.1属性“属性”是对象的基本特征,如影片剪辑实例的大小、位置、透明度等。它表示某个对象中绑定在一起的若干数据块中的一个。“属性”的通用结构为“对象名称(变量名).属性名称;”。例如:mym
30、c.x=100;/将实例名称为mymc的影片剪辑实例移动到x坐标为100的位置mymc.rotation=2nd.Rotation;/使用rotation属性旋转mymc影片剪辑实例,以便与2nd影片剪辑实例的角度相匹配mymc.scaleY=10;/更改mymc影片剪辑实例的水平缩放比例,使其宽度变为原来的10倍10.5.2方法“方法”是指可以由对象执行的操作,如果在Flash中制作了一个包含动画的影片剪辑,便可以利用“方法”播放或停止影片剪辑中的动画,或者将播放头跳转到指定的帧。例如:mymc.play();/使实例名为mymc的影片剪辑实例开始播放mymc.stop();/使实例名为my
31、mc的影片剪辑实例停止播放mymc.gotoAndstop(10);/使实例名为mymc的影片剪辑实例跳转到第10帧并停止播放mymc.gotoAndplay(10);/使实例名为mymc的影片剪辑实例跳转到第10帧并开始播放“方法”右侧的小括号中是其参数,可以将值或变量放入小括号中。如“gotoAndplay(10)”中的“10”,就表示跳转到第10帧,而像“stop()”和“play()”这种方法是没有参数的。10.5.3事件所谓“事件”就是所发生的、ActionScript能够识别并可响应的事情,例如用户单击鼠标或按键盘上的按键等。无论编写怎样的事件处理代码,都会包括事件源、事件和响应3
32、个基本要素。n n事件源:事件源:事件源:事件源:即发生事件的对象,也称为即发生事件的对象,也称为“事件目标事件目标”,如某个按钮会被单击,那么这个按钮就是事,如某个按钮会被单击,那么这个按钮就是事件源。件源。n n事件:事件:事件:事件:即将要发生的事情,有时一个对象会触发即将要发生的事情,有时一个对象会触发多个事件,因此对事件的识别非常重要。多个事件,因此对事件的识别非常重要。n n响应:响应:响应:响应:当事件发生时执行的操作。当事件发生时执行的操作。编写事件代码的基本结构如下。functioneventResponse(eventObjece:EventType):void/响应事件而
33、执行的动作eventSource.addEventListener(EventType.EVENT_NAME,eventResponse);/加粗显示的是占位符,可根据实际情况进行设置在此结构中,首先定义了一个函数,函数实际就是将若干个动作组合在一起,并使用一个快捷的名称来执行这些动作的方法。eventResponse是函数的名称,eventObjece是函数的参数,EventType是该参数的类型,这与声明变量是类似的。在大括号中是事件发生时所执行的指令。接下来,调用源对象的addEventListener()方法,表示当事件发生时,执行该函数的动作。所有具有事件的对象都具有addEvent
34、Listener()方法,其有两个参数:第一个参数是响应的特定事件的名称;第二个参数是事件响应函数的名称。例如:this.stop();functionstartMovie(event:MouseEvent):voidthis.play();startButton.addEventListener(MouseEvent.CLICK,startMovie);这段语句表示当播放头播放到当前对象(主时间轴或影片剪辑)的该帧时停止播放,单击按钮后继续播放。其中startButton是按钮的实例名称,this指代当前对象。下面列出了与鼠标相关的事件。鼠标事件代码单击MouseEvent.CLICK双击M
35、ouseEvent.DOUBLE_CLICK按下鼠标左键MouseEvent.MOUSE_DOWN抬起鼠标左键MouseEvent.MOUSE_UP鼠标悬停MouseEvent.MOUSE_OVER、MouseEvent.ROLL_OVER鼠标移开MouseEvent.MOUSE_OUT、MouseEvent.ROLL_OUT鼠标移动MouseEvent.MOUSE_MOVE鼠标滚轮MouseEvent.MOUSE_WHEEL10.5.4创建对象实例在ActionScript中使用对象前,必须先确保该对象存在。创建对象的第一步是声明变量,但声明变量仅表示在电脑内存中创建了一个空位置,还必须为变
36、量赋予一个实际的值即创建一个对象并将其储存在变量中,整个过程称为变量“实例化”。有一种创建对象实例的简单方法,可以完全不涉及ActionScript。当在“属性”面板中为舞台上的影片剪辑实例、按钮元件实例、视频剪辑实例、动态文本实例或输入文本实例设置一个实例名称时,Flash会自动声明一个拥有该实例名称的变量,创建一个对象实例并将这个对象储存在该变量中。除了上述方法外,还可以使用ActionScript创建实例。除Number、String、Boolean、XML、Array、RegExp、Object和Function数据类型外,要创建一个对象实例,应将new与类名一起使用。例如:varmymc:MovieClip=newMovieClip;/创建一个影片剪辑实例varmyday:Date=newDate(2010,6,22);/用此方法创建实例时,在类名后加上小括号,还可以指定参数值综合实例1电子相册电子相册新建一个Flash文档,导入风景图像,然后将位图放置在舞台适当位置;新建“按钮”图层,在该图层上绘制胶卷并拖入、缩小图像,再将图像转换为按钮;为按钮设置实例名称,然后在“动作”面板中输入代码。