ActionScript应用.ppt_第1页
ActionScript应用.ppt_第2页
ActionScript应用.ppt_第3页
ActionScript应用.ppt_第4页
ActionScript应用.ppt_第5页
已阅读5页,还剩99页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章 ActionScript应用 学 习 目 标 l本章主要介绍了ActionScript的语法,包括数 据类型、表达式和运算符的应用;动作脚本 的基本语法规则;变量、函数的声明与使用 ;动作面板的使用;条件/循环控制脚本;在 帧、按钮和影片剪辑上插入动作脚本等。 本 章 重 点 动作面板 ActionScript基础语法 在按钮中插入ActionScript 在帧中插入ActionScript 在影片剪辑中插入ActionScript 7.1 ActionScript概述 l7.1.1 什么是ActionScript lActionScript(简称AS)就是动作脚本的意思, ActionScript 是Flash中内建的一种脚本编程语言,它在 Flash 内容和应用程序中实现了交互性、数据处理以及其它 许多功能,它是由Flash播放器中的ActionScript虚拟机来执 行的。 l掌握了ActionScript,用户不仅能够制作出普通的观赏性的 动画,还能够利用鼠标或键盘控制动画;不仅可以控制动 画的播放或停止、音乐的打开或关闭、链接到指定的网页 或文件等,还可以创建交互式网页,让用户填写表单、反 馈用户信息,或者玩精彩互动游戏等。只要用户有创意, 动作脚本的发挥空间是无限大的。 7.1.2 ActionScript的版本 l最早在Flash3中,Macromedia公司在其中加 入了一套早期的ActionScript 版本,这时候的 代码和Basic语言很相似,用于完成一些简单 的交互动作,功能很简单,语法冗长,执行 效率也不好,且不容易掌握。 lMacromedia公司在2007年推出Adobe Flash cs。 Flash cs的创作环境有一些相关的改进,引入了最 新且最具创新的ActionScript版本,即ActionScript 3.0。虽然 ActionScript 3.0 包含 ActionScript 编程 人员所熟悉的许多类和功能,但 ActionScript 3.0 在 架构和概念上是区别于早期的 ActionScript 版本的 。ActionScript 3.0 中的改进部分包括新增的核心语 言功能、增强的灵活性及更加直观和结构化的开发 。其中一个最主要的特性就是能够让用户在时间线 动画与代码中进行转换,将它们放到ActionScript中 ,再转换出来。这样可以使设计者和开发者的工作 结合在一起。并且,ActionScript 3.0在flashPlayer 中的回放速度要比ActionScript 2.0快10倍,因此它 既高速又高效。 7.1.3 如何选用ActionScript的 版本 l在 Flash Player cs 中,可以运行在早期 Flash Player 版本中运行的任何内容。但是 ,在 Flash Player cs 中使用了 ActionScript 3.0 后,在兼容性方面存在了一些问题。 lFlash cs允许用户输出与某个Flash Player版本兼容的.swf文件。要 设置一个.swf文件的版本,具体操作步骤如下: (1)运行Flash cs程序,在“欢迎屏幕”中,选择 “Flash文件 (ActionScript 2.0)”选项,如图7-1所示(在本书第七、八两章中 如不加特别说明,新建文件时均为“Flash文件 (ActionScript 2.0)” 选项)。 (2)选择【文件】|【发布设置】命令,在对话框中选择Flash选项 卡,从“版本”下拉列表中选择版本,如图7-2所示。 图7-1 新建Flash文档 图7-2 发布设置中的Flash版 本 7.2 认识【动作】面板 l在Flash中,ActionScript 2.0程序根据编写的 位置不同可以分成四种:(1)添加到按钮实例上 的代码;(2)添加到帧上的代码;(3) 添加 到影片剪辑实例上的代码;(4)利用脚本编 辑器编写的外部类的.as文件。前三种代码是 利用【动作】面板添加的。但到了 ActionScript 3.0中却只允许向帧添加代码。 l【动作】面板用于组织动作脚本,是制作动 画过程中进行脚本编写的重要场合,用户可 以用面板中自带的语言脚本也可以自己添加 脚本来制作动画效果。Flash cs为用户提供 了人性化的脚本编辑环境。不使用【动作】 面板时它处于关闭状态,选择【窗口】|【动 作】命令或按F9即可打开【动作】面板。若 暂时不用【动作】面板,可以单击面板的标 题来收缩面板,以节省空间,再次单击可以 展开面板。 l【动作】面板由以下几个部分组成,如图7-3 所示。图7-3 【动作】面板 l命令列表框 l脚本编辑窗口 l脚本导航器 图7-3 【动作】面板 l工具栏 l【将新项目添加到脚本中】按钮 l【查找】按钮 l【插入目标路径】按钮 l【语法检查】按钮 l【自动套用格式】按钮 l【显示代码提示】按钮 图7-3 【动作】面板 l【快捷菜单】按钮 l单击【快捷菜单】按钮,即可打开快捷菜单,如图7-12所示。菜 单中包括一些常用的命令,为制作动画提供了方便。 图7-12 快捷菜单 l脚本助手 l在FlashMX2004版本中去除了脚本编辑器的普通模式,这给许多 想学习脚本的爱好者带来了不少的困难。Flashcs版本中的“脚本 助手”即是FlashMX2004之前版本的编辑器经过改进后的普通模 式,而且比以前的版本更加完善。“脚本助手”是通过选择动作命 令并在专门的编辑界面中通过编辑生成脚本,这个界面包含文本 字段、单选按钮和复选框,可以提示正确变量及其他脚本语言构 造,如图7-13所示。 图7-13 脚本助手 l除了通过【动作】面板向对象或帧添加动作脚本外,还可以利用脚 本编辑器直接编写外部类的.as文件。在“欢迎屏幕”中选中 “ActionScript”文件,即可创建一个外部类的.as文件,如图7-14所示 ,此时会打开ActionScrip文件的编辑界面,如图7-15所示。 图7-14 创建ActionScrip文件 图7-15 ActionScrip文件编辑界面 7.3 ActionScript编程基 础 l7.3.1 语法规则 lFlash cs中的脚本与其他的脚本语言一样,也有变 量、函数、运算符和保留关键字等语言元素。它 有自己的一套语法和标点符号使用规则,在编写 ActionScript脚本时,必须遵守其编写时的语法规 则,才能编写可以准确编译和运行的程序。 1、点语法 l在AS中,点运算符被用来指明与某个对象或电影剪 辑相关的属性和方法,也用于标识指向电影剪辑或 变量的目标路径。用点运算符表达对象的属性,开 始是对象或影片剪辑名,然后是一个点,最后是要 指定的属性、方法或变量。如:window._x表示实 例名为window的_x属性。 l点语法使用_root和_parent两个特殊的别名。_root 是指主时间轴,可以使用_root别名创建一个绝对路 径。例如,_root.window.play();语句将使主时间 轴中的影片剪辑window开始播放。可以用别名 _parent引用嵌套在当前影片剪辑中的影片剪辑,也 可以用_parent创建一个相对目标路径。例如,如果 影片剪辑tom嵌套在影片剪辑person中,那么在对 象tom上的_parent.stop();语句告诉person停止播放 。 2、大括号 l使用大括号 () 可以将 ActionScript 事件、 类定义和函数组合成块。可以将左大括号与 声明放在同一行中。也可以将左大括号放在 声明下边的一行。编码约定建议将左大括号 放在同一行中以保持一致性。大括号必须是 成对出现的。例如, lonClipEvent (load) l timer=new Date(); l 3、分号 lAS语句用分号结束,每条语句的结尾都应该 加上分号,如果省略语句结尾的分号,AS仍 然能编译用户创建的脚本,在【动作】面板或“ 脚本”窗口中单击“自动套用格式”按钮后,将 自动在语句的结尾添加分号。使用分号终止 语句使用户能够在单个行中放置不止一条语 句,但是这样做往往会使代码难以阅读。例 如,下面的语句以分号结束: lmyClip._alpha =50; 4、圆括号 l圆括号主要有以下几种用途: l(1)在定义函数的时候,所有形参必须放在圆括号内;调用函数的时候,实参 也必须放在圆括号中。 lfunction myFunction (name, age, reader) l l l在数学表达式中用圆括号改变运算的顺序。 ltrace(2 + 3 * 4); / 14 ltrace( (2 + 3) * 4); / 20 l 在循环和选择结构体中的循环条件和选择条件的描述,放在结构体的 圆括号中。 l/循环结构体 lfor(var i=0;iy)?max=x:max=y;中的条件运算符 (?:)。 赋值运算符 l二元运算符,有两个操作数,它根据一个操作数的 值对另一个操作数进行赋值。一般的格式如下: lvar x:Number = 5;/ 将值 5 赋予变量 x lvar x:Number = 5+3;/ 将表达式5+3的值赋予变量 x; l还可以使用赋值运算符给同一表达式中的几个变量 赋值。在下面的语句中,值 10 会被赋予变量 numOne、numTwo 和 numThree。 lvar numOne:Number; lvar numTwo:Number; lvar numThree:Number; lnumOne = numTwo = numThree = 10; 算术运算符 l算术运算符对数字操作数执行算术运算。 l加号(+) l递增 (+) l减号或取反运算符 l递减 l乘号(*) l除号 l取模运算符(%) l算术复合赋值运算符 关系运算符 l关系运算符用于比较两个表达式的值,并且返回一 个布尔值(true或false),关系运算符常常用于循 环语句和条件语句中。如下面的例子当i小于5的时 候,输出i的值。 lfor(var i=0;i)和大于等于(=) l小于() l按位右移():二元运算符,使用方法和按位 左移( 3);/输出0 ltrace(1024 8);/输出4,相当于除以28 l按位无符号向右移位 l此运算符与按位向右移位运算符 () 基本相同, 只是此运算符不保留原始表达式的符号,因为左 侧的位始终用 0 填充。 l按位运算复合赋值运算符 l和算术复合赋值运算符一样,按位运算符和赋值 运算符结合组成按位运算复合赋值运算符,在语 句中可以提高代码执行效率。 其他运算符 l条件运算符 l条件运算符(?:):三元运算符,使用方法如下 : lvar x:Number = 5; lvar y:Number = 10; lvar z = (x10 /输出false 7.3.4 表达式 l表达式是 Flash 可以计算并返回值的任何语 句。可以通过组合运算符和值或者调用函数 来创建表达式。表达式的初始值是字符串还 是数值,取决于参数的默认类型。例如, gotoAndPlay语句中的scene是字符串,故用 来设置该参数的表达式类型默认为字符串型 。 7.3.4 表达式 l数值表达式 l数值表达式可为变量赋整数值。它可由数字、数 值型变量和算数运算符共同组成。算数运算符包 括+、-、*、/、=、(大于号)、=(大 于等于号)、“。触发事件列表框中列举了常用的键名称,例 如keyPreSs“表示按下空格键,触发动作。 l另外,也可以给按钮添加多个触发事件,触发事件之 间用半角逗号隔开。即添加完一个触发事件后,可以 输入一个半角逗号,然后再添加其他触发事件。动作 代码中的标点符号必须为半角。 7.4.2 在帧中插入 ActionScript l设置帧动作就是给某个特定的帧指定一个动 作,当影片播放到该帧的时候就会自动执行 指定的动作。当需要影片在进行到某一关键 帧时执行特定的动作,就要在这一帧添加代 码。设置了动作的帧上将出现一个小写的字 母a。设置动作的帧一定是关键帧,否则设置 的动作将会自动转移到它前面最近的那个关 键帧上。 l设置帧动作的操作步骤如下: l(1)选中要设置动作的关键帧,按F9键,打开【动作- 帧】面板。 l(2)双击树状视图中所需命令,即可添加动作。例如, 双击【全局函数】|【时间轴控制】类别中的stop命令 ,即添加停止当前正在播放的 SWF 文件命令。 l(3)根据需要为帧设置其他动作。不同的动作会有不同 的参数,也有不需要提供参数的动作。 l (4)选择【控制】|【启用简单帧动作】命令,使帧动 作生效。然后按Ctrl+Enter组合键,播放动画进行效果 测试。 l另外,当我们在往帧上添加代码时最好将 代码放在一个单独的层上。这样做的好处 是,当动画上的代码比较多时,便于查看 ,也利于修改,如果不想使用代码时只需 要将这个图层删除就去掉了所有的代码, 十分方便。 7.4.3 在影片剪辑中插入 ActionScript l影片剪辑拥有独立的时间轴、有唯一的名字 。为影片剪辑设置动作并制定触发事件后, 当事件发生时就会执行设置的动作。此处, 还可以重新指定影片剪辑的属性,例如,可 以设置当载入影片剪辑时,动画变为全屏播 放;当单击时,复制一个新的影片剪辑,并 让它在一个新的位置出现。 l【例7-4】设置影片剪辑触发事件的操作步骤 。 l(1) 创建一个新文档,在舞台上创建一个影片剪辑实例,选中该 影片剪辑实例。 l(2) 打开【动作】面板,选择 【全局函数】|【影片剪辑控制】命 令,在命令列表中,双击 onClipEvent命令,将其添加到命令列 表框中,其参数域会自动提示影片剪辑的触发事件列表,如图7- 36所示,在列表中选择要加入的命令。 图7-36 给影片剪辑设置onClipEvent语句 l影片剪辑可以触发的事件包括以下几种: lload:影片剪辑一旦被实例化并出现在时间轴中,即启动 此动作。 lunload:在从时间轴中删除影片剪辑之后,此动作在第一 帧中启动。 lenterFrame:以影片剪辑帧不断触发的动作。 lmouseMove:每次移动鼠标时启动此动作。_xmouse和 _ymouse属性用于确定当前鼠标位置。 lmouseDown:当按下鼠标左键时启动此动作。 lmouseUp:当释放鼠标左键时启动此动作。 lkeyDown:当按下某个键时启动此动作。 lkeyUp:当释放某个键时启动此动作 ldata:当在loadVaribles()或loadMovie()动作中接受数据时 启动此动作。 7.4.4 课堂实例 l【例7-5】在按钮中插入ActionScript。本动画实例的目 的是:当在单击按钮时,动画转到相应的帧并停止,同 时显示相应的内容。如果要关闭动画,单击“退出”按钮 即可。在本例中共使用了9个按钮,前8个分别以不同的 触发事件命名,最后一个是“退出”按钮。实例效果如图7 -37所示。 图7-37 动画运行效果 l【例7-6】在帧上添加代码。本动画实例的目的是:动画一开始就 进行倒计时,倒计时为“0”的同时就自动载入准备好的下一个动画。 (在本例中我们使用刚做好的“在按钮中插入ActionScript.swf”实例) 利用自动载入其他动画可以实现多个动画自动连续播放。实例效果 如图7-44所示。 图7-44 制作背景 l【例7-7】在影片剪辑中插入ActionScript。本动画实例的目的是: 在播放动画的过程中,实现当鼠标左键按下时可以将影片剪辑ball 拖动到其他位置,当松开鼠标时, 影片剪辑ball继续自己的运动的效 果。实例效果如图7-49所示。 图7-49 动画运行效果 7.4.5 ActionScript3.0的具体 应用 l我们在ActionScript2.0部分已经对比的介绍了 ActionScript2.0与ActionScript3.0的不同。下面 我们就通过实例介绍一下ActionScript3.0的具体 应用。 l【例7-8】ActionScript3.0的具体应用。本动画 实例的目的是: 在ActionScript2.0中我们可以通 过往按钮、帧和影片剪辑上添加代码的方法制作 出具有交互效果的动画。然而,在ActionScript 3.0中却只允许向帧添加代码。 图7-52 动画运行效果 结论 l在ActionScript3.0中,要让影片剪辑能够像 按钮一样接受click等事件,并使鼠标放上去 显示手型形状,那么一定要加上代码:影片 剪辑名. buttonMode=true; l在ActionScript2.0中,影片剪辑是不可以加 侦听器的,但在ActionScript3.0中,却可以 了。 在ActionScript3.0中的事件模型与 ActionScript2.0中大不一样了。 l在ActionScript3.0中,不再直接使用字符串来定义事件名称了, 而是使用了变量来定义事件字符串名称。使用了这种模式,极大 地避免了因为输入错误的字符串而花费大量时间找错误,一旦输 错,编译器立刻会发现并报告给用户。 l表7-6列出了一些鼠标事件,用户可以根据需要替换上面源码中 的事件类型。 lCLICK : String = “click” 鼠标单击事件 lDOUBLE_CLICK : String = “doubleClick”鼠标双击事件 lMOUSE_DOWN : String = “mouseDown” 鼠标按下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论