收藏 分享(赏)

actionscript.ppt

上传人:11xg27ws 文档编号:8649588 上传时间:2019-07-07 格式:PPT 页数:62 大小:1.15MB
下载 相关 举报
actionscript.ppt_第1页
第1页 / 共62页
actionscript.ppt_第2页
第2页 / 共62页
actionscript.ppt_第3页
第3页 / 共62页
actionscript.ppt_第4页
第4页 / 共62页
actionscript.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

1、Actionscript,认识开发环境,在 Flash中,编写 Actionscript 语句是在“动作”面板中完成的。 选择“窗口”| “动作”命令或按 F9 键,添加actionscript的方法,在 Flash 中,由于所有的动作都需要添加到时间轴上的帧、按钮和影片剪辑上,因此根据添加的对象 不同,Flash 将“动作”面板分为“动作帧” 、 “动作按钮” 、 “动作影片剪辑”种类型。,点(. )语法,动作脚本中,点( .)通常用于指定对象或影片剪辑相关联的属性或方法,或者标识影片剪辑、变量、 数对象的目标路径。,元件 命名,在命名实例名时,最好意义明确,可以用英文、汉语拼音和中文,并且

2、不同类型的元件加不同的 前后缀命名影片剪辑实例;加 _mc 后缀,例如 my_mc命名按钮时,应使用 _btn 后缀。例如 my_btn命名文本时,应使用 _txt 后缀。例如 my_txt,路径,目标路径:是 SWF 文件中影片剪辑实例名称,变量和对象的分层结构地址 目标:指的是将要被动作脚本控制的对象,有影片剪辑实例,变量等。 路径:指如何到达目标,即我们如何从控制点到达被控制点。 分层结构:flash文件是有一个个影片或影片剪辑组成的,它们有各自的时间轴、变量、数组等,它们 的位置关系有两种,一是父子关系;二是并列关系。,绝对路径,绝对目标路径指的是从根时间轴开始,一直延续到列表中目标时

3、间轴中的实例为止。 在编写绝对目标路径时,首先写上_root,一方面表示这个路径是一个绝对路径,另一方面表示这个路 径的最顶层时间轴是本场景中的根时间轴_root。,相对路径,相对目标路径取决于控制时间轴和目标时间轴之间的关系,相对目标路径就是站在控制点去看被控制 点。若向父级方向看也就是向根时间轴方向看,在相对路径中,使用关键字 this 指示当前时间轴:使用别 名_parent 指示当前时间轴的父级时间轴,可以重复使用_parent,每使用一次就会在同一层的影片剪辑的层 次中上升一级,有多少元件就写多少_parent,时间轴控制命令,事件是指软件或硬件发生的事情,应用程序对事件有一定的响应

4、。 硬件发生的事件如按下鼠标、单击鼠标、拖动鼠标等。软件发生的事件如影片剪辑 刚刚被载入场景、影片剪辑被卸载等。为了使应用程序对事件做出反应,必须使用事件处 理函数。,on事件外理函数,双击代码选择区中的“全属函数”|“影片剪辑控制” |“on”命令 On 事件动作使用较多,它一般直接作用于按钮,也可以作用于影片剪辑实例。,mouseEvent 参数,时间轴控制命令,时间轴控制语句的主要任务是控制帧的停止、播放、跳转等。 ,时间轴控 制语句也可以分成两类,一类是控制主时间轴,一类控 制影片剪辑时间轴。,Play() 和 stop(),play 和 stop 在 Flash 中用于控制动画的播放

5、和停止,play 命令使播放头从它当前位置 向前移动。stop停止当前正在播放的 SWF 文件。 路径. play(); 路径. stop();,本节设计的语法及规范,圆括号在动作脚本中作用非常大,在定义函数时在将参数全部放到圆 括号内;在调用函数时要将传递给函数的所有参数包含在小括号里;在设置表达式优 先级或增强动作语名的易读性时都需要使用到圆括号。 在 Flash AS 脚本中,任何 一条语句都是以“;”号结束的。,动作脚本中的一组语句可以被一对花括号“”包括起来,成为一 个语名组。在由多个动作状态组成的语句组中,使用花括号可以有效地来区分各命令的层 级和从属关系。,无条件转移,正常情况下

6、时间轴从第一帧开始按顺序向下播放,使用跳转命令可以打破原来的播放顺序,从而实现 各种特效,跳转命令有两个它们是 gotoAndPlay和 gotoAndStop,应用格式为:,gotoAndStop,在动作面板的“代码选择区”中选择“全局函数”|“时间轴控制”|“gotoAndStop”命令 “gotoAndPlay(帧);” :按照该提示,可以在括号内输入需要跳转的帧数,例如,当播放到当前帧的时 候,跳转到第 20 帧,则应当在当前帧上添加代码 gotoAndPlay(20);。“gotoAndPlay(“场景” ,帧); ” :按照该指示可以在括号内指定播放某一场景中的某一帧。将播放头 转

7、到场景中指定的帧并停止播放。例如:当播放到当前帧的时候自动跳转至 scene_2(场景 2)的第 20 帧, 则在当前帧上添加代码:gotoAndPlay(“场景_2“, 25);如果未指定场景,播放头将转到当前场景中的帧。,注意事项,在进行跳转时应该尽力避开场景和帧编号,而使用帧标签 只能在根时间轴上跳转时使用 scene 参数,不能在影片剪辑或文档中的其它对象的时间轴内使 用该参数。 如果从元件时间轴跳转元件时间轴时,应该先加路径再写跳转命令。,gotoAndStop,在动作面板的代码选择区中选择“全局函数”|“时间轴控制”|“gotoAndStop”命令 场景:执行“窗口”|“设计面板”

8、|“场景”菜单命令,就会调出“场景面板” 。在该面 板中可以进行场景的添加、复制、删除、重命名、排序等操作。,nextFrame和 nextScene,这两个命令通常与 on命令结合,并作用于按钮上。 单击鼠标后,播放下一帧(nextFrame)或下一 个场景(nextScene)。,prevFrame和prevScene,这两下命令通常用来控制播放上一帧或上一个场景。其功能刚好与 nextFrame和 nextScene相反。,变量,命名变量名要遵守如下的规则: (1)不能是as 关键字,所谓关键字也称保留字,指as 预先定义好的标识符。 (2)不能以数字开头,第一个字符必须是字母或下划线“

9、_”和美元符“$” 。 (3)中间不能有空格。 (4)变量名中不能使用标点符号 (5)不应将动作脚本语言中的任何元素用作变量名称。,变量,trace()函数,在编写脚作脚本中,我们会大量用到 trace()命令。trace()实际算是一个调试命令,它的输出都会在“输 出面板”显示出来。 真正发布作品的时候 trace()不再输出,变量赋值,var a=5;/把常量 5赋值给变量 a。trace(a);/输出面板输出 5 set(“a”,5);/用 set()方法为变量赋值为 5。trace(a);/5 this“a“+1=0 trace(a1);/0,变量的范围,本地变量在声明它们的函数体(由

10、大括号界定)内可用。 时间轴变量可用于该时间轴上的任何动作脚本。 全局变量和函数对于文档中的每个时间轴和范围可见。,本地变量,本地变量的使用范围只限于它的代码块,它会在该 代码块结束时到期。没有在代码块中声明的本地变量会在它的动作脚本结束时到期。 本地变量也可防止出现名称冲突,在定义本地变量时可以为其指定数据类型,这有助于防止将类型错 误的数据赋给现有变量,时间轴变量,时间轴变量可用于该时间轴上的任何动作脚本。要声明时间轴变量,可以使用 set variable动作或赋值 “=”动算符,应在该时间轴中的所有帧上都初始化这些变量,应确保首先初始化变量,然后尝试在动作 脚本中访问它。声明时间轴变量

11、也可以使用 var 例如:如果将代码“var x=10;”放置在第 20帧上,,全局变量,全局变量和函数对于文档中的每一时间轴和范围而言都是可见的。若要创建具有全局范围的变量,请 在变量名称前使用_global 标识符,并且不使用 var语法。,在程序中使用变量,必须在动作脚本首先给变量赋值,然后才能在表达式中使用它。在 flash 中可以使用变量动态的 设置其它动作中的不同参数。 如果使用未赋初值过的变量该变量的值将是 NaN或 undefined。并且动件脚本可能产生意外的结 果。,变量的输入输出,用输入文本输入变量 用动态文本显示变量,数据类型,字符串型 数值型 布尔型 对象 影片剪辑,

12、运算符表达式,运算符是指定如何组合、比较或修改表达式值的字符。 运算符对其执行运算的元素称为操作数。 例如:圆柱体表面积计算公式 2*Math.PI*r*r+2Math.PI*r*h,运算符的优先顺序,在同一语句中使用两个或多个运算符时,各运算符会遵循一定的优先顺序进行运算 例如加(+),减(-) 的优先顺序最低, (*),除(/)的优先顺序较高,而括号具有最高的优先顺序 当一个表达式中只包含有相同 优先级的运算符时,动作脚本将按照从左到右的顺序依次进行计算,比较运算符,用于比较表达式的值,然后返回一个布尔值(true 或 false)。这些运算符最常用于循环语句和条件语 句中。,条件运算符,

13、格式:表达式式 1? 表达式 2:表达式 3 参数:表达式 1计算结果为布尔值的表达式,通常为像 x 5 这样的比较表达式。表达式 2、表达式 3 任何类型的值。 说明:指示 Flash 计算 表达式 1,如果 表达式 1 的值为 true,则它返回表达式 2 的值;否则,它返 回表达式 3 的值。,影片剪辑常用属性,用点语法设置和获得影片剪辑属性,对于大多数影片剪辑的属性既可以设置,又可以获取,比如坐标、旋转度,透明度等。,setProperty()/设置电影片断在屏幕中的属性,脚本位置:全属函数|影片剪辑控制|setProperty 语法格式:setProperty (target:Obj

14、ect, property:Object, expression:Object) : Void 功能:当影片播放时更改影片剪辑的属性。参数: target:Object 要设置其属性的影片剪辑的实例名称的路径。 Property:Object要设置的属性。 Expression:Object 或者是属性的新的字面值,或者是计算结果为属性新值的等式,getProperty()函数,我们已经知道 setProperty()函数可以设置影片剪辑的属性但它没有返回值 flash给我们提供了动态获取影片剪辑属性的函数 getProperty()。 脚本位置:全属函数|影片剪辑控制|getProperty

15、 语法格式:getProperty(my_mc:Object, property:Object) : Object 功能:返回影片剪辑 my_mc 的指定属性的值。参数: my_mc:String 要检索其属性的影片剪辑的实例名称。 property 影片剪辑的一个属性。 返回:Object 指定属性的值。,使用 setProperty()函数批量更改影片剪辑属性,on (release) i5 ? i+ : i=1; setProperty(“qiu“+i, _x, 100*i); setProperty(“qiu“+i, _y, 180); setProperty(“qiu“+i, _al

16、pha, 100-(i-1)*20); ,动态路径,有的影片剪辑实例是通过程序创建的,例如通过复制函数可以复制出 若干的新影片剪辑实例,它们的实例名也是在程序中指定的。要访问这些复制出来的影片剪辑,最好的方 法是用动态路径。 动态路径是利用数组运算符来实现的。,条件语句,一个程序都是由若干个基本结构组成,每个基本结构包含一个或多个语句。程序有三种基本结构, 顺序结构、选择结构、循环结构。,分支结构程序设计-If,分支结构程序设计-ifelse,分支结构程序设计-ifelseif,onClipEvent()事件处理函数,脚本位置: 全局函数 |影片剪辑控制|onClipEvent 处理函数 语法

17、格式:在 FLASH 中使用 onClipEvent 命令来根据影片剪辑的状态触发动作,onClipEvent 通常使 用以下的格式 功能:触发为特定影片剪辑实例定义的动作。,参数,复制影片剪辑,duplicateMovieClip()函数的作用是通过复制创建的影片剪辑的实例。 脚本位置:全局函数|影片剪辑控制|duplicateMovieClip 语法格式: duplicateMovieclip(目标、新实例名称、深度);,删除影片剪辑,产生的实例可以通过 removeMovieClip() 函数 进行删除 。 removeMovieClip()函数的一般形式为: removeMovieCl

18、ip(实例名),attachMovie()语句,attachMovie()语句与 duplicateMovieClip()相比,优点是 attachMovie()复制的“目标”是 库中要附加到 舞台上某影片剪辑的影片剪辑元件的链接名称。这是在“链接属性”对话框中的“标识符”字段中输入的 名称。,startDrag()函数,函数功能:startDrag()函数的作用是使影片剪辑实例在影片中播放过程中可拖动。 脚本位置:全局函数|影片剪辑控制|startDrag 语法格式:startDrag(target:Object, lock:Boolean, left:Number, top:Number,

19、 right:Number, bottom:Number) : Void 即: startDrag(目标,固定,左) ,上,右,下 参数意义:目标(target)表示要拖动的影片剪辑的目标路径。 固定(Lock)是一个布尔值,指定的可拖动影片剪辑是锁定到鼠标指针位置中央(true),还 是锁定到用户首次单击该影片剪辑的位置上(false)。此参数是可选的。 Lefk、top、 right、 bottom、这四个参数分别设置影片剪辑拖动在左、上、右、下的范 围,注意相对于影片剪辑父级坐标的值,这些值指定该影片剪辑被约束的矩形。这些参数 是可选的。,stopDrag()函数,函数功能:停止当前的拖

20、动操作。 脚本位置:全局函数|影片剪辑控制|startDrag 语法格式:stopDrag(),for循环语句,for 语句中的三个表达式,中间用分号隔开。 第一个初始表达式通常用来设定语句循环执行次 数的变量初值,这个表达式只会执行一次; 第二个条件表达式通常是一个关系表达式或者逻辑表达式,用 来判定循环是否继续; 第三个递增表达式是每次执行完“循环体语句”以后,就会执行的语句,通常都是 用来增加或者减少变量初值。,时间获取脚本,在Flash中使用时间获取脚本可对电脑中的系统时间进行提取,并可利用提取的时间信息制作出某些特定的动画效果(如显示当前时间),在Flash 8中,常用的时间获取语句

21、有以下几个。,时间获取脚本,getSeconds:用于按照系统时间返回指定Date对象的秒钟值(059之间的整数)。 getMinutes:用于按照系统时间返回指定Date对象的分钟值(059之间的整数)。 getHours:用于按照系统时间返回指定Date对象的小时值(023之间的整数)。 getDate:用于按照系统时间返回指定Date对象的日期值(131之间的整数)。,时间获取脚本,getDay:用于按照系统时间返回指定Date对象表示周几的值(0代表星期日,1代表星期一,依次类推)。 getMonth:getMonth用于按照系统时间返回指定Date对象表示的月份值(011之间的整数,

22、0代表一月,1代表二月,依次类推)。 getFullYear:getFullYear用于按照系统时间返回指定Date对象的年份值(一个4位数)。,声音控制脚本,在Flash 8中,通过添加相应的声音控制脚本可对动画中声音的播放、停止、音量大小以及声道切换等进行交互控制。在实际应用中,常用的声音控制脚本主要有以下几个。 new Sound:new Sound用于创建一个新的声音对象。要使用脚本对声音对象进行控制,就需要首先建立相应的声音对象,之后才能对其进行相关的操作。,声音控制脚本,Sound.start:Sound.start用于开始播放指定的声音对象。 Sound.stop:Sound.s

23、top用于停止播放指定的声音对象。 stopAllSounds:stopAllSounds用于停止播放当前动画中所有的声音对象。 attachSound:attachSound用于将指定的声音附加到指定的Sound对象中。,声音控制脚本,setPan:setPan用于确定声音在左右声道中是如何播放的,对于单声道的声音,则决定通过哪个声道(左或右)播放声音。 setVolume:setVolume用于设置声音对象的播放音量。,浏览器/网络控制脚本,在了解Action脚本的基本概念,并掌握Action脚本的添加方法后,从这一节开始,就将对Flash 8中常用的浏览器/网络控制脚本进行讲解。,浏览器/网络控制脚本,fscommand:用于将当前的动画文件与Flash Player或承载Flash Playe 的程序(如Web浏览器)进行通信,从而对动画的播放属性进行控制。loadMovie:loadMovie用于加载外部的swf动画文件到当前正在播放的动画文件中。unloadMovie:unloadMovie用于从当前动画文件中删除通过loadMovie( )脚本加载的外部swf动画文件。getURL:getURL用于打开特定的网页或执行网络中特定的程序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报