flash教案03第三章 Action Script_第1页
flash教案03第三章 Action Script_第2页
flash教案03第三章 Action Script_第3页
flash教案03第三章 Action Script_第4页
flash教案03第三章 Action Script_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

flash教案03第三章 Action Script Flashxx教案(xx-xx学年下学期)第三章Action Script-1-第三章Action Script一概述通过上一章节(第二章Flash动画初识)的学习,大家对Flash动画有了一定的了解,现在进入Flash另一个重要环节Action Script的学习。 二实例01gotoAndPlay与gotoAndStop步骤?初始化 (01)打开Flash MX,新建文件;选择菜单命令修改?文档?,或按快捷键Ctrl+J,或打开属性面板的,均可设置场景的大小为300px*300px(即宽为300像素,高为300像素);背景颜色为白色(#FFFFFF)。 (02)在时间线窗口中选择图层1的第1帧,在页面合适位置输入“开始”二字(字体、字号和颜色等自己选择设置),如下左图所示。 ? (03)菜单命令窗口?其他面板?公用库?按钮,如上中图所示,打开如上右图所示的“公用按钮库面板”。 (04)选择喜欢的按钮,这里选择三个。 一个用来“下翻页”“Circle Buttons?circle buttonnext”;一个用来“上翻页”“Circle Buttons?circle button-previous”;再一“返回第一页”“Circle Buttons?circle button-to beginning”。 (05)把选择的按钮拖放到页面,然后删除(因为我们库里已经有这三个按钮咯,如下左图所示)。 1Flashxx教案(xx-xx学年下学期)第三章Action Script-2-?制作第 1、 2、3帧的内容 (06)在第1帧中从库里拖出circle buttonnext,并摆放到合适的位置,如上左二图所示。 (07)在第2帧插入关键帧,将文字由“开始”改为“正文”,再从库里拖出circle button-previous,并摆放到合适的位置,如上左三图所示。 (08)在第3帧插入关键帧,将文字由“正文”改为“结束”,再从库里拖出circle button-to beginning,并摆放到circle button-previous-previous,如上右图所示。 的位置,同时删除circle button?加入Action Script动作代码 (09)选择第1帧,打开动作面板(窗口?开发面板?动作),开始创建“帧动作”;如下图所示,单击“+”号按钮,选择“全局函数?时间轴控制?stop”,或者直接输入语句“stop();”,效果如下第二图所示。 ? (10)选择第1帧的按钮,打开动作面板,开始创建“按钮动作”;如下左图所示,单击“+”号按钮,选择“全局函数?影片剪辑控制?on”(注意,对按钮加动作,都要先选择on动作!),接着选择“release”(即在“释放”时相应按钮动作);在大括弧“”里添加“全局函数?时间轴控制?gotoAndStop”,接着输入gotoAndStop的帧数为2,效果如下第四图所示。 2Flashxx教案(xx-xx学年下学期)第三章Action Script-3-?3Flashxx教案(xx-xx学年下学期)第三章Action Script-4- (11)同理,选择第2帧的,在“动作面板”输入代码如下左图所示;选择第2帧的,在“动作面板”输入代码如下右图所示。 第2帧的动作第2帧的动作 (12)选择第3帧的,在“动作面板”输入代码如下左图所示;选择第3帧的作面板”输入代码如下右图所示。 ,在“动第3帧的动作第3帧的思考1如果第1帧没有加“帧动作”stop();,那么效果会如何变化?思考2为什么有的按钮用gotoAndPlay,有的按钮用gotoAndStop?动作思考3双击其中的一个按钮,进入按钮的环境,看看按钮的帧与“图形”、“影片剪辑”的帧有何不同? (13)保存,预览效果。 动作gotoAndPlay让指针跳转到某个帧,然后继续播放(一般场景省略,即指当前场景);格式gotoAndPlay(scene,frame)参数scene可选字符串,指定播放头要转到的场景的名称。 frame表示将播放头转到的帧编号的数字,或者表示将播放头转到的帧的标签的字符串。 说明函数将播放头转到场景中指定的帧并从该帧开始播放。 如果未指定场景,则播放头将转到当前场景中的指定帧。 动作gotoAndStop让指针跳转到某个帧,停止在那个帧(一般场景省略,即指当前场景);格式gotoAndStop(scene,frame)参数scene可选字符串,指定播放头要转到的场景的名称。 frame表示将播放头转到的帧编号的数字,或者表示将播放头转到的帧的标签的字符串。 说明函数将播放头转到场景中指定的帧并停止播放。 如果未指定场景,则播放头将转到当前场景中的帧。 动作stop停止当前正在播放的SWF文件。 此动作最通常的用法是用按钮控制影片剪辑。 4Flashxx教案(xx-xx学年下学期)第三章Action Script-5-02get mouseposition步骤?初始化 (01)新建文件,场景大小400px*300px,背景颜色为白色(#FFFFFF)。 (02)在时间线窗口中选择图层1的第1帧,在页面合适位置输入文字“xmouse”和“ymouse”,如下左图所示;接着分别在文字“xmouse”和“ymouse”的边上画出两个动态文字框,如下中图所示(方法使用文本工具,只是我们之前常用的是默认的“静态文本”,这里要先在属性面板上改成“动态文本”,再在页面上画出文本框,不选中时成虚线状);分别选择两个动态文本框,在其属性面板上输入“变量”名为“mainx”和“mainy”(也可以自己取,但是程序那里要和这里的命名一致),如下右图所示。 ?加入Action Script动作代码 (03)选择第1帧,打开动作面板,输入如下图所示的“帧动作”。 (04)在时间轴窗口,插入一个空白关键帧,即第2帧为空白关键帧;选择第2帧,在动作面板中输入如下图所示的“帧动作”。 思考1如果没有第2帧的“帧动作”,效果会怎么改变?思考2_root的含义? (13)保存,预览效果。 属性_root是Flash的关键字,表示主场景的Timeline(时间线)。 说明指主时间轴,一般用在不在主时间轴上的对象要引用或指向主时间轴。 属性_xmouse指示鼠标位置的x坐标。 属性_ymouse指示鼠标位置的y坐标。 5Flashxx教案(xx-xx学年下学期)第三章Action Script-6-03if与set property步骤?初始化 (01)新建文件,场景大小550px*480px,背景颜色为黑色(#000000)。 (02)在时间线窗口中选择图层1的第1帧,在页面合适位置制作一个圆球(黑白放射状渐变,中心白,外圈黑,即外圈融入到背景颜色中);将该圆球转化为元件,为一影片剪辑,名字可以自取(这里为“ball”,也可自定,如“球”等);同时在属性面板内输入影片剪辑的“实例名称”为“ball”(也可以自定,不过要和程序中的一致),如下图所示。 (03)绘制按钮。 先用文本工具,在页面左下方输入“放大”二字;接着选择该文字,单击右键,选择“转换为元件?”,将文字“放大”转换为“按钮”; (04)按钮。 双击“放大”按钮,进入按钮的环境,如下各图所示,在时间轴的“指针经过”与“按下”状态分别插入关键帧,并修改文字颜色(这里“指针经过”的文字是蓝色,“按下”的文字是白色);在时间轴的“点击”状态插入关键帧或空白关键帧,帧内容是绘制一个覆盖过文字的实心矩形(因为“点击”表示在页面上响应按钮的区域)。 一般状态下的按钮文字为土黄色指针经过按钮时,文字为蓝色按下按钮时,文字为白色响应按钮的区域为覆盖住文字的实心矩形6Flashxx教案(xx-xx学年下学期)第三章Action Script-7- (05)同理绘制另一个文字按钮“缩小”,场景摆放如下图所示。 ?加入Action Script动作代码 (06)选择“放大”按钮,打开动作面板,输入如下代码。 (07)选择“缩小”按钮,打开动作面板,输入如下代码。 (08)设置变量a的初始值。 这里选择球ball所在层的第一帧,打开动作面板,输入帧动作a=100;,如下图所示。 7Flashxx教案(xx-xx学年下学期)第三章Action Script-8-思考1设置变量a的初始值,为什么要选择球ball所在层的第一帧,而不选择两个按钮的其中一个进行设置?思考2“缩小”按钮如果没有“if”语句,会出现什么效果? (09)保存,预览效果。 函数setProperty当影片剪辑播放时,更改影片剪辑的属性值。 格式setProperty(target:Object,property:Object,expression:Object):Void参数target:Object-要设置其属性的影片剪辑的实例名称的路径。 property:Object-要设置的属性。 expression:Object-或者是属性的新的字面值,或者是计算结果为属性新值的等式。 属性_xscale/_yscale说明按钮是符号的三种类型之一(电影剪辑、图形、按钮),它可以显示不同风格的图标,分别响应不同的鼠标状态。 当使用鼠标对按钮进行单击或鼠标指针移动过按钮时,按钮将做出不同的反应,显示不同的状态。 在时间线上,一个按钮符号只有4帧,分别是弹起、指针经过、按下、点击。 按钮的“弹起”状态按钮所呈现的一般状态,即当鼠标指针不在按钮之上时按钮的外观。 使用鼠标选中这一帧后,可以使用绘制工具绘制或导入按钮的初始状态图形。 按钮的“指针经过”状态当鼠标指针悬停在按钮之上时,按钮所呈现的外观。 在创建这种按钮状态时,首先要在这一帧中插入关键帧,然后可以对初始状态的按钮图形进行修改,也可以将初始状态的按钮图形删除,直接重新创建新的按钮图形。 按钮的“按下”状态按钮被单击时所呈现的外观。 创建这种状态下的按钮,同样需要先插入关键帧,然后再进行按钮状态的绘制或修改。 按钮的“点击”状态定义鼠标区域,当鼠标指针在响应区域内时按钮才会进入指针经过状态,按下鼠标才会进入按下状态。 首先在这一帧中插入一个关键帧,然后使用绘制工具绘制的区域,就是按钮响应鼠标的区域。 按钮符号中也可以有多个层存在,并且只要一个层的“点击”帧有内容即可。 在按钮符号中可以使用导入的图片,甚至在“点击”帧中也可以使用图片。 8Flashxx教案(xx-xx学年下学期)第三章Action Script-9-04duplicateMovie与setProperty与getProperty步骤?初始化 (01)新建文件,场景大小500px*500px,背景颜色为土蓝色(#336699)。 (02)在时间线窗口中选择图层1的第1帧,在页面合适位置制作一个影片剪辑,名称为“pic”;并在场景中,影片剪辑的属性面板中命名“实例名称”为“s0”,效果如下图所示。 ?加入Action Script动作代码 (03)在场景时间轴上新建一图层,并插入3个空白关键帧,专门写入控制代码的。 (04)第1帧代码如下所示。 9Flashxx教案(xx-xx学年下学期)第三章Action Script-10- (05)第2帧代码如下所示。 (06)第3帧代码如下所示。 (07)最后场景如下图所示;保存,并预览效果。 函数duplicateMovie格式参数函数getProperty当影片剪辑播放时,更改影片剪辑的属性值。 格式getProperty(my_mc:Object,property:Object):Object参数my_mc:Object-要检索其属性的影片剪辑的实例名称。 property:Object-影片剪辑的属性。 10Flashxx教案(xx-xx学年下学期)第三章Action Script-11-05duplicateMovieClip与setProperty与getProperty与removeMovieClip步骤?初始化 (01)新建文件,场景大小400px*400px,背景颜色为土蓝色(#336699)。 ?制作影片剪辑 (02)在时间线窗口中制作图形元件,名称为“01-光线”,颜色等效果如下图所示。 (03)制作星星底部光圈(黄色渐变圆),及周围淡光束,它们的颜色值如下图所示。 (04)制作将光束和光圈组合成星星,并转变为图形元件,取名为“02-光线组成星星”,效果如下图所示。 11Flashxx教案(xx-xx学年下学期)第三章Action Script-12-图形元件,“01-光线”光圈光束,组合图形 (05)利用上面制作出来的图形元件“02-光线组成星星”,制作电影剪辑,取名为“03-星星闪烁”,效果为星星闪烁动画,如下图所示。 12Flashxx教案(xx-xx学年下学期)第三章Action Script-13- (06)制作影片剪辑,取名为“04-线条变色”,效果为线条从黄色到青色的改变,如下图所示。 (07)利用上面制作的影片剪辑“03-星星闪烁”与“04-线条变色”,制作影片剪辑,取名为“05-线条与星星组合动画”,效果为,线条略向右下移动,星星从线条的两端飞出,如下图所示。 (08)从库里将影片剪辑“05-线条与星星组合动画”,拖放到场景的合适位置。 13Flashxx教案(xx-xx学年下学期)第三章Action Script-14- (09)在场景中新建一层,制作两个按钮,一个是“+”号按钮,一个是“-”号按钮,也从库里拖放到场景中,放置效果如下图所示。 ?加入Action Script动作代码 (10)在场景时间轴上再新建一图层,在该层的第1帧输入代码如下所示。 14Flashxx教案(xx-xx学年下学期)第三章Action Script-15- (11)为“+”号按钮添加如下所示的代码。 (12)为“-”号按钮添加如下所示的代码。 (13)保存,预览效果。 函数duplicateMovieClip格式参数函数removeMovieClip格式参数15Flashxx教案(xx-xx学年下学期)第三章Action Script-16-单元考三题外话事件处理是交互特性和自动运行的基础,ActionScript所能处理的事件非常非常繁多,我们完全没必要一个一个地去学习,因为这些事件的名称和用途大多都是相当直观的。 比如处理鼠标移动就是onMouseMove,处理鼠标按键就是onMouseDown,等等,需要用的时候查一下手册就可以轻松搞定。 只不过onClipEvent事件要注意领会掌握,它的使用比较灵活。 本章的结尾还介绍了使用事件处理函数为对象指定事件处理代码的方法,应当尽可能地用这种方法处理事件,它可以让你的程序结构更加清晰易读。 每个人使用Flash一段时间后,都会形成自己的一套Flash ActionScript代码编写习惯。 好的代码编写习惯可以尽可能避免低级失误和不必要的麻烦,从而加速开发进程,提高开发质量。 (一)库文件夹分类习惯声音、图片各自放到独立的文件夹。 MC则根据栏目进行分类到不同的文件夹。 一般不用图形元件。 (二)时间轴管理习惯最上层为AS层,如果AS层超过三层,则建立专门的AS图层文件夹。 多层AS层需要注意代码执行顺序。 第二层为标签层。 主场景其它图层按栏目进行文件夹分类,但一个MC内一般仅为一个栏目,不用分类。 相同性质而且相互影响不大的元件放一层,其它的独立分层,并按视觉效果进行上下分层。 loading、过渡动画、功能页面分在不同的场景。 (三)元件命名习惯库中元件的命名采用中文命名,后边添加特定元件的后缀,比如我有一个“导航”的元件,按钮则命名为“导航BTN”,影片剪辑则命名为“导航MC”。 声音和图片则直接使用“导航”命名。 命名的三步统一性即元件在库中的名字,在场景中的实例名,以及所在层的名字尽量保持统一。 比如一个元件在库中的名字为“导航MC”,则它在场景中的实例名将为“daohang_mc”,它所在的层名将为“导航”。 这样在元件非常多,代码编写量非常大的时候,可以有效的节省命名和查找时间,同时避免引用错误。 16Flashxx教案(xx-xx学年下学期)第三章Action Script-17-文本域命名如果一个MC中仅有一个动态文本域,则统一命名为“wenben_txt”,其变量名为“wenben_var”。 如果有两个以上动态文本域,则根据其功能进行命名。 (四)架构习惯三层分离主场景数据层,动画层,代码功能层进行分离。 由于数据加载完成时,会导致短暂的动画不流畅,所以我一般在loading场景中把数据一起加载完成,然后进入动画场景。 大量的时间轴动画又会导致项目结构混乱,所以我一般又会把动画也处理成独立场景,将动画最后一贞复制,然后建立新的功能场景并粘贴,所有的核心代码都集中在功能场景中。 MC结构由于每个MC基本又相当一个独立的小SWF,所以它的结构也尽量遵从“三层分离”的思想。 MC双贞式每个MC都保持两贞。 尽管大部分情况下,都可以用一贞完成任务,但我还是会专门留一贞,为可能的贞数据刷新留有余地。 元件嵌套结构一般不超过三层,迫不得已的情况下,也要保证代码不写在三层以下的元件上。 外部调用SWF全部定义_lockroot=true。 外部调用的SWF中绝不使用_level0,除非特别需要。 (五)向过程的结构化AS代码编写习惯1代码分布所有代码均写在时间轴上,一般都在第一贞,元件上绝不写代码。 主场景上的代码负责对整个系统的初始设置,各MC时间轴上的代码各成一体。 2代码结构按代码器中从上到下的顺序。 (1)系统初始化界面初始化包括编码设置,舞台设置,元件可见性,可用性等等初始设置。 变量初始化时间轴或者全局变量初始化。 数组初始化初始需要的数组,并利用循环进行赋值。 对象初始化初始需要的所有对象,并注册侦听器。 (2)代码逻辑结构这里是整个代码的逻辑结构,一般通过一系列的函数调用使各种功能有机结合。 (3)功能块儿一般按逻辑结构中的顺序定义各个功能块儿,并封装到函数中。 3命名习惯全部采用中文拼音全拼。 (1)变量命名使用“var”进行时间轴变量声明,并且采用中文全拼命名,示例var liuyan=; (2)数组和对象命名采用全拼加对应的后缀,示例var shuzu_array=new Array();var liuyan_lv=new LoadVars(); (3)函数

温馨提示

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

评论

0/150

提交评论