资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,flash-cs3第十章PPT,10.2 ActionScript 语法规则,要使ActionScript语句能够正常运行,就必须按照正确的语法规则进行编写。,1字母的大小写,在ActionScript中除了关键字区分大小写外,其他的ActionScript语句大小写可以混用,但根据书写规范进行输入,可以使ActionScript语句更容易阅读。,2点语法,在ActionScript语句中,点“.”用于指示与对象相关的属性或方法。通过点语法可以引用类的属性或方法,例如:,/新建一个空对象,将其引用赋值给变量Company,var Company:Object=;,/新增一个属性name,将字符串“企鹅”赋值给它,Company.name=企鹅;,/输出“企鹅”,trace(Company.name);,3括号和分号,在ActionScript中大括号“”、小括号“()”和分号“;”各有其作用。,大括号:,用于将代码分成不同的块。例如:,var a:int=5;/声明一个int型变量a并为其赋值5,if(a0)/如果a大于0,trace(“正数”);/输出“正数”,else /否则,trace(“负数”);/输出“负数”,小括号:,通常用于放置使用动作时的参数,在定义或调用函数时都要使用小括号。例如:,trace(“读者你好!”);/输出“读者你好!”,分号:,在ActionScript语句的结束处添加分号,表示该语句结束。虽然不添加分号也可以正常运行ActionScript语句,但使用分号可以使ActionScript语句更易于阅读。,4注释,在ActionScript语句的后面添加注释有助于用户理解动作脚本的含义,以及向其他开发人员提供信息。添加注释的方法是先输入两个斜杠“/”,然后输入注释的内容即可。注释以灰色显示,长度不受限制,也不会影响ActionScript语句的执行。,5标识符和关键字,现实生活中,所有事物都有自己的名字,从而与其他事物区别开。在程序设计中,也常常用一个记号对变量、方法和类等进行标识,这个记号就称为标识符。,标识符的命名必需符合一定的规范,在ActionScript语言中,标识符的第一个字符必须为字母、下划线“_”或美元符号“$”,后面的字符可以是数字、字母、下划线或美元符号。,as,break,case,catch,false,class,const,continue,default,delete,do,else,extends,false,finally,for,function,if,implements,import,in,instanceof,interface,intemal,is,naitve,new,null,package,private,protected,pubic,return,super,switch,this,throw,to,true,try,typeof,use,var,void,while,with,ActionScript保留了一些单词用于特定用途,例如变量、函数或标签名称,它们不能用作标识符,我们称其为关键字。,10.3 输入代码的两种方法,10.3.1 在关键帧中输入代码,在Flash CS3中,可以为主时间轴、按钮元件或影片剪辑元件内的任意关键帧添加代码,播放动画时播放到添加代码的关键帧即可执行该代码。要为关键帧添加代码,可先选中关键帧,然后选择“窗口”“动作”菜单或按【F9】键,打开“动作”面板。,“动作”面板主要由三部分组成,其中,动作工具箱分类存放着ActionScript的大部分语句;脚本导航器中列出了当前选定对象的名称和位置等属性;“脚本”窗格用来供用户输入和编辑代码。,“动作”面板,脚本命令列表框,对象查看列表框,按钮区域,脚本输入窗口,在“动作”面板上方“按钮区域”中的按钮,有些需要输入代码后才会被激活,它们各自的作用如下。,“将新项目添加到脚本中”按钮 :,单击“将新项目添加到脚本中”按钮可在展开的下拉菜单中选择需要添加的ActionScript语句。,“查找”按钮,:,单击“查找”按钮可查找指定的字符串并对指定的字符串进行替换。,“插入目标路径,”按钮 :,单击“插入目标路径”按钮可在编辑语句时插入一个目标对象的路径。,“语法检查,”按钮 :,单击“语法检查”按钮可检查当前语句的语法是否正确,并给出提示。,“自动套用格式,”按钮 :,单击“自动套用格式”按钮可使当前语句按标准格式排列。,“显示代码提示,”按钮 :,当鼠标光标定位到某某一位置时,单击“显示代码提示”按钮可显示所在语句的语法格式和相关的提示信息。,“调试选项”按钮 :,单击“调试选项”按钮可对当前语句进行调试。,“折叠成对大括号”按钮,:,单击“折叠成对大括号”按钮可将大括号中的语句折叠起来。,“折叠所选”按钮,:单击“折叠所选”按钮可将选中的语句折叠起来。,“展开全部”按钮,:,单击“展开全部”按钮可将折叠的语句全部展开。,“脚本助手”按钮 :,单击“脚本助手”按钮可开启或关闭“脚本助手”模式。当开启“脚本助手”模式时为对象添加语句,Flash会自动安排语句格式。,展开“动作”面板的脚本命令列表框,双击需要的语句进行添加。,展开“动作”面板的“脚本命令列表框”,将需要的语句拖到“脚本输入窗口”。,直接在“脚本输入窗口”中输入语句。,单击“动作”面板“按钮区域”中的“将新项目添加到脚本中”按钮,从展开的下拉菜单中选择要添加的动作语句。,在“动作”面板中可以通过下列任意一种方法添加ActionScript语句。,下面以一个简单的实例介绍在在关键帧中输入代码的具体操作。,在“动作”面板中输入代码 “输出”面板中的文字,1.新建一个Flash(ActionScript 3.0)文档,单击选中“图层1”的第1帧,然后按【F9】键开“动作”面板,并在右侧的“脚本输入窗口”中输入代码。,2.按快捷键【Ctrl+Enter】测试影片,会在“输出”面板中显示“第一个编程实例”。,10.3.2 创建单独的ActionScript文件,ActionScript 3.0可以将外部的ActionScript类文件和fla文件绑定,编译时将SWF文件看成是这个类的一个实例。,当构建较大的应用程序或包含重要的ActionScript代码时,最好在单独创建的ActionScript源文件(扩展名为as的文本文件)中组织代码,从而方便程序的维护。,创建ActionScript文件,1.新建一个Flash(ActionScript 3.0)文档,并将其保存为“first.fla”。然后创建一个ActionScript文件 。,在ActionScript文件中输入代码 在“文档类”编辑框中输入文件名,2.将新建的ActionScript文件存为“第一个.as”,并和“first.fla”文件放置在同一目录,然后在“第一个.as”文档中输入 代码。,3.切换回“first.fla”文档,在“属性”面板的“文档类”编辑框中输入文字“第一个”。,4.对“first.fla”文档进行保存,并按快捷键【Ctrl+Enter】测试影片,会看到一个空白的Flash Player窗口,和一个“输出”面板,面板中显示“第一个编程实例”。,10.4 ActionScript 3.0的基本元素,10.4.1 数据类型,ActionScript 3.0中的数据可分为简单数据类型和复杂数据类型。简单数据类型表示单条信息,如单个数字或单个文本序列。在ActionScript 3.0中常用的简单数据类型主要有布尔值(Boolean)、数字(int、uint、Number)和字符串(String)三种:,Boolean:,用来表示真假的数据类型,它只有true(真)和false(假)两个值。,int、uint、Number:,它们都是表示数字值的数据类型,其中int和uint表示整数型数值(uint为不带负号的整数);Number表示浮点数,浮点数在计算机中用来近似表示任意某个数值。,String:,表示Unicode字符集中的符号,即通常说的文本型数据,例如一个名称或书中某一章的文字。,MovieCilp:,影片剪辑元件。,TextField:,动态文本字段或输入文本字段。,SimpieButton:,按钮元件。,Date:,日期和时间。,ActionScript 3.0中定义的大部分数据类型都可以被描述为复杂数据类型,因为它们表示组合在一起的一组值。常用的复杂数据类型有:,10.4.2 变量,在ActionScript中变量用于存储信息,它可以在保持原有名称的情况下使其包含的值随特定的条件改变。,1声明变量的语法,一个变量包含变量名、数据类型和值3个部分。可以在声明变量时为变量赋值,变量的值可以是字符串、数字、数组、对象、xml和日期,也可以是自己创建的自定义类。在ActionScript 3.0中声明变量的格式如下。,var变量名:数据类型;,var 变量名:数据类型=值;,var是一个关键字,用来声明变量。变量的数据类型写在冒号后。若要为变量赋值,则值的数据类型必须和变量的数据类型一致;若不为变量赋值,则变量将根据数据类型赋予默认值。例如:,var M:int;,var N:int=100;,其中“var M:int”声明了一个int型变量但没有赋值,所以会使用默认值;“var N:int=100”声明了一个int型变量,并为其赋值“100”。,2变量的命名规则,变量的命名规则不仅是为了让编写的代码符合语法,更重要的是增强代码的可读性,标准清晰的命名是优秀代码的必备条件。在为变量命名时应遵循以下规则。,变量名必须符合标识符命名原则。,在一个Flash文件中变量名必须是唯一的。,变量名不能是关键字或ActionScript文本。这里的ActionScript文本是指直接出现在代码中的值,如true、false、null或undefined等。,变量名区分大小写。如果一个变量名由多个单词构成,第一个单词为小写,第二个单词首字母大写,如anInt。,变量不能是ActionScript语法中的任何元素,例如类名称。,3变量的默认值,若声明了一个变量,却没有为其赋值,则系统会自动为该变量赋予一个默认值,该默认值取决于变量的数据类型。,数值类型,默认值,Boolean,false,Int,0,Number,NaN,Object,null,String,null,Uint,0,未声明(与类型注释*等效),undefined,其他所有类(包括用户自定义的类),null,10.4.3 常量,常量是指具有固定属性的数值,在Flash CS3中可以使用新增的const关键字声明常量。常量只能进行一次赋值,并且赋值之后不能在其他语句中进行更改。在ActionScript 3.0中常量全部使用大写字母,其声明语法与使用var生命变量的语法格式完全相同,只是将var换成了Const,如:,Const K:int=80;,表示声明了一个int型常量K,并为其赋值“80”。,10.4.4 运算符,运算符必须有运算对象才能进行运算。运算符和运算对象的组合称为表达式,每个表达式都会产生一个值,这个值就是就是表达式的值。,1赋值运算符,赋值运算符“=”是最常用的运算符,它可以将自身右侧的值赋给左侧的变量。常见的赋值运算符形式如下。,var t:int=7 /声明新变量时赋,var s:string,m=“new”/对已声明的变量赋值,n=5+10-7 /将右侧表达式的值赋给n,var a:object=new object();/新建一个对象,将其引用赋值给新变量a,var b:object=a;/将a所持有对象的引用赋值给b,使a、b指向,一个对象,2算数运算符,数学运算符就是平时所使用的加、减、乘、除等数学运算符号,其运算形式如下。,var a:int=5;,var b:int=10;,trace(a+b);/输出:15,3关系运算符,关系运算符就是大于()、小于(=)和小于等于(=)。关系运算符左侧不一定是变量,也可以是表达式,其运算结果是Boolean值,要么是true,要么是false。,var m:int=5;,var n:string=“7”;,trace(mt);/输出:false。布尔值t此时被转换成数值1了,如果非数值的运算对象无法转换成数值,那么这个表达式的值为false;若运算符两侧的对象都是字符串的话,则将按照从左到右的字母顺序逐个进行比较。,4逻辑运算符,逻辑运算符包括AND运算符(&)、逻辑OR运算符(|)和逻辑NOT(!)3种。逻辑运算符左右两边的对象可以是变量或函数返回值,也可以使表达式。例如:,var judge:uint=20;,/使用|规定judge大于15或小于30才能返回true,满足if条件,if(judge15)|(judge30),trace(对);,else,trace(错);,/输出:对,10.4.5 函数,函数是ActionScript 3.0中执行特定任务并可以在程序中反复使用的代码块,常见的函数有方法和函数封包两类。,1调用函数,Flash CS3本身拥有一些函数,在编程过程中要使用这些函数直接调用即可。例如:,trace(“ActionScript 3.0入门”);,/trace是Flash的顶级函数,会经常用到。测试动画时,在“输出”面板中显示,“ActionScript 3.0入门”,var randomNum:Number=Math.random();,/如果调用的函数没有参数,则必须在其右侧输入小括号。Math.random()函数表,示生成一个随机数,然后赋值给randomNum变量。,2自定义函数,在ActionScript 3.0中使用函数语句或函数表达式可以自定义函数。若采用静态或严格模式的编程方法,则应使用函数语句来定义函数;若采用动态或标准模式的编程方法,则应使用函数表达式定义函数。,函数语句:,函数语句的语法结构如下。,function 函数名(参数1:参数类型,参数2:参数类型):返回值类型,函数体,调用函数时要执行的代码,示例:,function tomorrow(peter0:String),trace(peter0:String);,tomorrow(“hello”);/输出“hello”,函数表达式:,定义函数也就是在程序中声明函数,函数表达式结合使用了赋值语句,其语法结构如下。,var 函数名 Function=function(参数1:参数类型,参数2:参数类型):返回值类型,函数体,调用函数时要执行的代码,示例:,var tomorrow:Function=function(pe:String),trace(pe);,tomorrow(“hello”);/输出“hello”,从函数中返回值:,使用return语句可以从函数中返回表达式或字面值,但return语句会终止该函数,位于return语句后面的任何语句都不会被执行。此外,在严格模式下编程时,若选择了指定返回类型,则必须返回相应类型的值。例如:,function doubleNum(singleNum:int):int,return(singleNum+10);,/返回一个表示参数的表达式,10.5 处理对象,10.5.1 属性,“属性”是对象的基本特征,如影片剪辑实例的大小、位置、透明度等。它表示某个对象中绑定在一起的若干数据块中的一个。,“属性”的通用结构为“对象名称(变量名).属性名称;”。例如:,mymc.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();,/使实例名为mymc的影片剪辑实例停止播放,mymc.gotoAndstop(10);,/使实例名为mymc的影片剪辑实例跳转到第10帧并停止播放,mymc.gotoAndplay(10);,/使实例名为mymc的影片剪辑实例跳转到第10帧并开始播放,“方法”右侧的小括号中是其参数,可以将值或变量放入小括号中。如“gotoAndplay(10)”中的“10”,就表示跳转到第10帧,而像“stop()”和“play()”这种方法是没有参数的。,10.5.3 事件,所谓“事件”就是所发生的、ActionScript能够识别并可响应的事情,例如用户单击鼠标或按键盘上的按键等。,无论编写怎样的事件处理代码,都会包括事件源、事件和响应3个基本要素。,事件源:,即发生事件的对象,也称为“事件目标”,如某个按钮会被单击,那么这个按钮就是事件源。,事件:,即将要发生的事情,有时一个对象会触发多个事件,因此对事件的识别非常重要。,响应:,当事件发生时执行的操作。,编写事件代码的基本结构如下。,function,eventResponse(eventObjece:EventType):,void,/响应事件而执行的动作,eventSource.,addEventListener(,EventType.EVENT_NAME,eventResponse,);,/加粗显示的是占位符,可根据实际情况进行设置,在此结构中,首先定义了一个函数,函数实际就是将若干个动作组合在一起,并使用一个快捷的名称来执行这些动作的方法。,eventResponse,是函数的名称,,eventObjece,是函数的参数,,EventType,是该参数的类型,这与声明变量是类似的。在大括号中是事件发生时所执行的指令。,接下来,调用源对象的,addEventListener(),方法,表示当事件发生时,执行该函数的动作。所有具有事件的对象都具有,addEventListener(),方法,其有两个参数:第一个参数是响应的特定事件的名称;第二个参数是事件响应函数的名称。例如:,this.stop();,function startMovie(event:MouseEvent):void,this.play();,startButton.addEventListener(MouseEvent.CLICK,startMovie);,这段语句表示当播放头播放到当前对象(主时间轴或影片剪辑)的该帧时停止播放,单击按钮后继续播放。其中,startButton,是按钮的实例名称,this指代当前对象。,下面列出了与鼠标相关的事件。,鼠标事件,代码,单击,MouseEvent.CLICK,双击,MouseEvent.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_WHEEL,10.5.4 创建对象实例,在ActionScript中使用对象前,必须先确保该对象存在。创建对象的第一步是声明变量,但声明变量仅表示在电脑内存中创建了一个空位置,还必须为变量赋予一个实际的值即创建一个对象并将其储存在变量中,整个过程称为变量“实例化”。,有一种创建对象实例的简单方法,可以完全不涉及ActionScript。当在“属性”面板中为舞台上的影片剪辑实例、按钮元件实例、视频剪辑实例、动态文本实例或输入文本实例设置一个实例名称时,Flash会自动声明一个拥有该实例名称的变量,创建一个对象实例并将这个对象储存在该变量中。,除了上述方法外,还可以使用ActionScript创建实例。除Number、String、Boolean、XML、Array、RegExp、Object和Function数据类型外,要创建一个对象实例,应将new与类名一起使用。例如:,var mymc:MovieClip=new MovieClip;,/创建一个影片剪辑实例,var myday:Date=new Date(2010,6,22);,/用此方法创建实例时,在类名后加上小括号,还可以指定参数值,综合实例1电子相册,电子相册,新建一个Flash文档,导入风景图像,然后将位图放置在舞台适当位置;新建“按钮”图层,在该图层上绘制胶卷并拖入、缩小图像,再将图像转换为按钮;为按钮设置实例名称,然后在“动作”面板中输入代码。,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,
展开阅读全文