版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、元件与实例,元件与实例的概念,所谓“元件”也叫做“符号”,就是将某段FLash剪辑、导入的视频、动画或图片等作为一个整体存放在元件库中,事后可将其拖放到舞台被使用,并且可以多次使用,被拖放到舞台上的元件称为“实例”。元件可以看作是被封装起来的“控件”。元件一定是群组化对象,即使制作的元件中包含有打散的元素如形状渐变动画,一经制作成元件被包装后,也表现为群组特性。,使用元件(符号)的优点,简化舞台界面:元件的使用将使本来一段复杂的影片剪辑,被简化压缩为一个关键帧点,从而使舞台变得简洁。简化电影编辑:把要多次使用的元素做成符号,当修改了符号以后,使其所有实例都会随之更新。缩减文件大小:应用元件可以
2、使电影文件的尺寸大大缩减。这是由于影片中的实例是对元件的链接,并非复制。功能间接实现:当有些在主场中不能实现的功能,可以考虑先做成元件,然后再在主场中调用元件,间接实现相应功能。如,遮罩层的遮罩体不能再加引导层,则可先做成元件,再用元件做遮罩层即可。,Flash,元件的种类,元件有三种:图像、影片剪辑和按钮。图像由外界导入,影片剪辑由用户创建,按钮可以制作或从按钮库调用。,Flash,元件的制作,创建元件:【插入】【新建元件】进入编辑界面后可进行“影片剪辑”、“按钮”和“图形”的制作。其编辑界面与主场编辑界面毫无二致,完全一样。编辑完成后将自动保留在元件库内备用。返回主场后即可进行调用。必须明
3、确,库中的元件是伴随着Flash文件的存在而存在的,打开其他文件或新建文件将重新建库,原库元件将不复存在。转换元件:可以将主场中某段动画转换成元件,一般做法是先选定动画片段复制或剪切到剪贴板,然后粘贴到新建元件中。其本质仍是创建新元件。说明:用【修改】【转换成元件】(F8)则形不成动画元件,转换出的仅为主场中的一帧静态画面。,Flash,元件与实例的关系,实例是指出现在舞台上的元件或者是嵌套在其他元件中的元件,它具有元件的一切特性,但是元件与其实例有本质上的不同:1.使用范围不同:实例在前台,元件在台后。2.编辑方式不同:舞台的实例用属性编辑,符号库的符号用工具编辑。3.修改效果不同:元件修改
4、后,舞台上的所有实例将同步被修改,实例修改后并不影响元件,也不影响其他实例。而且实例只能进行属性的修改,元件才能进行编辑修改。4.虚实关系:元件是实体,实例是元件的映像。元件之间可以相互调用,称为元件的“嵌套”。也就是说,按钮元件里也可以用图形元件或者电影剪辑元件,电影剪辑元件里面也可以用按钮等等。,按钮符号(元件),按钮是符号的一个重要类型,当使用鼠标与它交互时,它会显示出不同的外观。在Flash中,按钮有4种姿态:Up、Over、Down、Hit,Up:当鼠标指针结束按钮时,按钮处于一般状态,Over:当鼠标指针移动到了按钮上面,但没有按下时,按钮处于被触摸状态,Down:当鼠标左键按下时
5、,按钮处于被按下状态,Hit:在该状态下可以定义响应鼠标的区域。此区域在电影中是不可见的,Flash,影片剪辑(Movieclip),影片剪辑是一段独立的动画,可以在动画中被调用,用户可以向动画片断中添加声效和设置交互等,而图形符号是不能的。-具体操作演示,Flash,影片剪辑示例,Flash,实例的播放,元件在主场摆放后形成的实例,用现场“播放”不能呈现元件动画效果,必须用“测试影片”或“测试场景”方可呈现,这是因为“播放”仅仅是在编辑现场上的行为,而“测试影片”才是文件运行时的效果,二者是有差别的。如遮罩层不加锁播放时,“播放”表现为遮挡,而“测试影片”也会表现遮罩效果,也是这个原因。,F
6、lash,综合举例:.引导遮罩.地球自转,什么是ActionScript,ActionScript中文翻译为“动作脚本”,它是Flash专用的一种程序语言,它采用面向对象编程的思想,采用FlashMX中的事件对程序进行驱动,以动画中的关键帧、按钮或电影片段作为对象,来对ActionScript进行定义和编写。,简单的说,添加脚本可分为两种:一是把脚本编写在时间轴上面的关键帧上面(注意,必须是关键帧上才可以添加脚本)。二是把脚本编写在对象身上,比如把脚本直接写在MC(影片剪辑元件的实例)上、按钮上面。,举例,举例,举例,举例,ActionScript的类型,1.在帧(Frame)中添加将Acti
7、onScript添加在特定的帧上,添加或当动画播放到添加ActionScript脚本的那一帧时,相应的ActionScript程序就会被执行,典型的应用是控制动画的播放和结束时间。,2.在按钮(Button)中添加这种添加方式更加常用,例如常见的鼠标滑过按钮、按钮被按下或放开等。这样很容易完成交互式动画的制作。并且多个按钮同时被添加了ActionScript程序时,互相有自己独立的动作,不会相互影响。,3.在电影片段(MovieClip)中添加使用该方式所添加的动作或程序往往是在该电影片段被载入或者是为了载入某些过程中获取相关信息才被执行的。这种方式在实际中应用较少,但使用起来会简化很多制作工
8、作。,按钮语句的添加,添加方法:选中按钮,F9打开action面板,选取添加按钮,选取全局函数/影片剪辑控制/on,选择press。选择全局函数/时间轴控制gotoandPlay、stop等语句。打开网页等。,ActionScript,1.flash是如何执行脚本当你在时间周的关键桢上添加了脚本,那么当flash运行的时候,它会首先执行这个关键桢上的脚本,然后才会显示这个关键桢上的对象。2.AS中的对象都包括什么它可以包含数据,也可以是舞台上的电影剪辑,也可以是舞台上的按钮等。既然包含了那么多对象,那么每种对象肯定有各自的属性!比如电影剪辑(Movieclip)对象,它的属性就有:_heigh
9、t(高度),_rotation(旋转),等,这些属性不需要你去特意的记忆,当使用的时候可以随时翻阅脚本字典。,提高部分,编程举例,案例,1.场景切换帧动作stop按钮playstop包括对整体影片和影片剪辑的控制2.网页的链接getURL3.使用动态文本和输入文本文本变量的使用4.拖动蜡烛影片剪辑的拖动5.碰撞测试6.课件制作举例,案例1播放控制,1.按ctrl+F8,新建立一个影片剪辑,并起名字为“动画”。做一个简单的影片剪辑。2.回到舞台工作区,按F11打开库,将动画影片剪辑拖放到舞台中。并给这个实例起个名字叫mc。(现在就可以按ctrl+回车测试效果,你可以看到动画在不停播放。)3.添加
10、脚本,现在要让这个mc在影片一开始不要自动播放。选中时间轴的第一桢,按F9打开动作面板,选择专家模式,输入:_root.mc.stop();(_root代表舞台,这个脚本的意思就是,舞台上名字叫mc的实例停止播放。),案例1播放控制,4.制作几个按钮,分别表示播放、暂停、前进、后退、停止。并摆放在舞台上。5.现在要添加控制影片的脚本。这次把脚本直接写在舞台上这些按钮的身上。选中播放按钮,打开动作面板,输入:on(release)_root.mc.play();如果要在按钮身上写脚本的话,必须使用on(事件)/脚本程序的格式来写!上面的脚本作用就是:当你在这个按钮上按一下鼠标(release事件
11、)的时候,就会执行下面的_root.mc.play();程序,它的意思是让舞台上的mc开始播放.,案例1播放控制,6同理:选中舞台上的暂停按钮,在它上面输入:on(release)_root.mc.stop()然后依次在快退上输入:on(release)_root.mc.prevFrame();/prevFrame表示回到动画的上一桢在快进的按钮上输入:on(release)_root.mc.nextFrame();在停止的按钮上输入:on(release)_root.mc.gotoAndStop(1);/跳到mc影片的第一桢,并停止播放!,案例2打开网页,AS脚本编写可以写在时间轴的关键桢上
12、,也可以写在对象本身上面。按钮也不例外,既可以写在时间轴上,也可以写在按钮本身上面。实现效果:做一个按钮,这个按钮要实现的功能就是打开一个指定的网页。,方法一把AS写在按钮上,1.在舞台上绘制一个矩形,选中矩形并按F8,将这个矩形转换成按钮元件。2.编写动作脚本:选中按钮,按F9,打开动作面板,输入以下脚本:on(release)getURL(,_blank)现在这个按钮就实现了一个打开网页的功能。,方法一把AS写在按钮上,按钮的AS书写规则就是:on(事件)/要执行的脚本程序,刚才的例子是用getURL来打开一个网页。你也可以使用脚本程序来执行其他功能,例如跳转到某一个桢,或载入外部一个动画
13、文件。,按钮的AS编写规则,on语句就是按钮的AS编写规则了。需要注意的是on里面的事件,这个事件你可以理解为是鼠标或键盘的动作。刚才的例子我们使用的事件是release(按一下鼠标)我现在把常用的按钮事件列出来:事件名字说明Press事件发生于鼠标在按钮上方,并按下鼠标Release发生在按钮上方按下鼠标,接着松开鼠标时。也就是“按一下”鼠标Releaseoutside发生于在按钮上方按下鼠标,接着把光标移动到按钮之外,然后松开鼠标Rollover当鼠标滑入按钮时Rollout当鼠标滑出按钮时Dragover发生于按着鼠标不放,光标滑入按钮Dragout发生于按着鼠标不放,光标滑出按钮Key
14、press发生于用户按下特定的键盘按键时,方法二把AS写在时间轴上,1.选中按钮,在下面的属性面板中为按钮起一个名字,这里我起了一个botton1;2.选中时间轴的第一桢,按F9打开动作面板。输入如下脚本:botton1.onRelease=function()getURL(,_blank);这种编写AS的方法要遵循的规则就是下面的公式而已:按钮实例的名字.事件名称=function()/要执行的脚本程序。大家只要记住这个公式就可以套用了。,案例3AS实现的动画,1、新建立一个电影剪辑元件,里面你就随便画一个圆吧。之后把这个影片剪辑拖放到舞台之中(也就是创建一个此影片剪辑的实例)。2、现在开始
15、编写脚本,选中这个MC,按F9打开动作板,选择onClipEvent,之后在显示的事件中选择enterFrame,然后在里面编写脚本如下:this._x+=5这个脚本编写之后应该是:onClipEvent(enterFrame)/enterFrame的意思是以影片帧频不断地触发此动作this._x+=5;/this代表这个影片剪辑自身。_x表示影片剪辑的X轴坐标。每播放一帧,向右移动5个像素,影片剪辑的AS编写,从这个例子不难看出,如果把AS写在影片剪辑本身上,正确的书写格式就是:onClipEvent(事件)/需要执行的脚本程序这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。括号里的
16、“事件”其实是个触发器,当事件发生时,执行该事件后面花括号中的语句,影片剪辑的AS编写,-load影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。-unload在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。处理与Unload影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。-enterFrame以影片帧频不断地触发此动作。-mouseMove每次移动鼠标时启动此动作。_xmouse和_ymouse属性用于确定当前鼠标位置。-mouseDown当按下鼠标左键时启动此动作。-mouseUp当释放鼠标左键时启动此动作。,影片剪辑的AS编写,-keyDown当按下某个键时启动此动作。
17、使用Key.getCode方法获取最近按下的键的有关信息。-keyUp当释放某个键时启动此动作。使用Key.getCode方法获取最近按下的键的有关信息。-data当在loadVariables或loadMovie动作中接收数据时启动此动作。当与loadVariables动作一起指定时,data事件只发生一次,即加载最后一个变量时。当与loadMovie动作一起指定时,获取数据的每一部分时,data事件都重复发生。,在时间轴上添加语句,首先你把刚才的脚本去掉。然后需要为这个影片剪辑实例起一个名字mc选中时间轴的第一桢,打开动作面板,输入以下脚本:mc.onEnterFrame=function
18、()this._x+=5;/也可以把这句为mc._x+=5为什么?;显而易见,在时间轴上的写法就应该套用以下公式:实例名.事件名称=function()/脚本程序需要注意的是,这种写法的事件名称不要忘了在前面加一个on,比如,事件如果是EnterFrame的话,你就应该写成onEnterFrame,案例:改变实例属性,1.新建一个文件,导入一个电影剪辑符号。2.新建按钮符号,命名为“上”,绘制向上的箭头,并且导入一段声音。3.复制按钮,分别建立下,左,右,右转,左转,放大,缩小几个按钮。4.将所有的按钮都拖动到舞台上,对齐。5.单击“上”按钮,F9打开语句面板,添加下面语句:,案例:改变实例属
19、性,on(press)_root.a._y=_root.a._y-10;(_root.a._y-=10;)在“下”添加:_root.a._y=_root.a._y+10“左”添加:_root.a._x=_root.a._x-10“右”添加:_root.a._x=_root.a._x+10“左旋转”添加:_root.a._rotation=_root.a._rotation-30“右旋转”添加:_root.a._rotation=_root.a._rotation+30“放大”添加:_root.a._xscale=_root.a._xscale+2;_root.a._yscale=_root.a
20、._yscale+2“缩小”添加:_root.a._xscale=_root.a._xscale-2;_root.a._yscale=_root.a._yscale-2,动态文本,为动态文本赋值方法1使用动态文本的实例名字来赋值操作步骤:(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个名字,例如test(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:test.text=为动态文本赋值按下ctrl+回车就可进行测试了。从这个简单的例子可以知道,如果要用文本实例名字来进行赋值的话,必须使用以下格式:动态文本实例的名字.text=”需要赋值的内容”,动态文本的赋值,方法2:使用变量
21、来赋值(1)在舞台上创建一个动态文本框,并为这个动态文本实例起一个变量名test。(2)选中时间轴的第一桢,打开动作面板,输入以下脚本:test=为动态文本赋值!不难看出,使用变量赋值更为简单实用!赋值格式为:变量名=“赋值的内容”,案例:取得坐标值,_xmouse,就是鼠标的水平位置。_ymouse,就是鼠标的垂直位置1.Layer1命名为XY,在舞台上先产生两个一般文字X:及Y:2.产生两个动态文字,分别在属性面版的将变量命名为“xpos”以及“ypos”,并且隐藏文字边框及背景,并取消可以选取的功能,这样可以避免误导误以为该文字可以被选取或是输入,3.Frame1的Action窗口键入以
22、下程序代码,xpos=_xmouse;/xpos显示的坐标ypos=_ymouse;/yos显示y坐标4.延长到第帧,这样的作用主要是要形成循环,反复执行Frame1的程序代码,让画面的动态文字的值,随时保持更新。属性。,案例:取得坐标值,5.在舞台上画一条长度超过画面的垂直线,再将该线条转为MovieClip并给实例命名为Vline6.在舞台上画一条长度超过画面的水平线,再将该线条转为MovieClip并给实例命名为Hline7.Frame1再增加以下Action_root.vline._x=_xmouse;/vline的坐标为当前鼠标的x坐标;_root.hline._y=_ymouse;
23、/hline的坐标为当前鼠标的y坐标;,绘图及颜色的AS编写,绘图命令讲解在使用flash的过程中,难免会进行绘图的操作。除了用工具面板上的工具绘制图形之外,我们也可以使用ActionScript来绘制图形。lineStyle(粗细,颜色,透明度)/设置绘制图形的线条粗细、颜色和透明度Moveto(坐标,坐标)/设置绘图线条的起点坐标lineto(坐标,坐标)/设置线条的结束坐标,案例:使用语言绘制矩形,、新建一个flash文件。、要绘制一个*大小的矩形,先确定矩形个顶点的坐标。(50,50)(350,50)(350,150)(50,150)、选中时间轴的第1桢,打开动作面板。现在已经确定了矩
24、形的个顶点,那么我们就可以来编写脚本命令了,请输入以下脚本:_root.lineStyle(1,0 x000000,100);/设置线条的粗细,颜色和透明度_root.moveTo(50,50);/设置开始点的坐标。_root.lineTo(350,50);_root.lineTo(350,150);_root.lineTo(50,150);_root.lineTo(50,50);/设置结束点坐标,整个矩形绘制完毕,案例:心连心,、新建立一个flash文檔,在舞台上绘制一个心,选中它并按转换成影片剪辑,起名为:心。、打开库面板,将影片剪辑“心”在舞台上再拖放一个实例,使舞台上存在两个心的实例。
25、、现在为舞台上两个实例分别起名字为a和b、选中时间轴第一桢,打开动作面板,输入以下脚本:,案例:心连心,functiondraw()/自己定义一个函数,这个函数起名为draw(可自定),函数的功能是要实现以a实例的坐标为起点,向b实例绘制线条。_root.clear();/清除舞台上绘制的线条。_root.lineStyle(1,0 x000000,90);/设置线条的粗细,颜色和透明度。_root.moveTo(a._x,a._y);/以a实例的坐标为起点开始绘制线条。_root.lineTo(b._x,b._y);/以b实例的坐标为绘制线条的结束点。draw();/执行函数draw,它将会
26、在a与b之间绘制出一条黑色的线条。,案例:心连心,、现在创建拖动效果,选中舞台上的b实例,打开动作面板,输入以下脚本:on(press)/点击此实例,开始拖动this.startDrag(true);on(release)/释放鼠标,停止拖动this.stopDrag();onClipEvent(mouseMove)/当鼠标移动,也就是这个b实例移动的时候,就执行里面的程序。_root.draw();/执行舞台上定义过的draw()函数,开始在a与b之间绘制线条。updateAfterEvent();/强制更新画面,是整个动画更加流畅。,流程控制与循环控制语句,一、流程控制语句所谓流程控制,无非就是我们想控制动画程序的执行顺序而已。我们可以让flash根据一些特定的条件,来决定要执行哪个程序。这样就好象给了程序一些判断的机制。if.else控制语句根据英文的意思,大家可以简单的理解上面的控制语句:如果.就.否则.就.下面来看看这个流程控制语句的书写格式。if(条件)/条件成立的话,就执行这里的程序。else/条件不成立的话就执行这里的程序。,流程控制语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 申报建筑高级工程师工作总结
- 企业会计风险管理中内部审计的重要性分析
- 不动产抵押2024年版借款协议样式版
- 2024年教师跟岗实习指导协议版
- 景观园林道路铺装施工方案
- 2024年春季期总务处工作总结
- 食用菌工厂化建设施工方案
- 车库顶板回填土专项施工方案
- 实验小学师生集体外出活动安全应急预案
- 实习进修生管理制度
- 论文范文浅谈儿童自闭症
- 城市公园管理养护中的难点、重点与建议
- 必看!设备管理必须要懂的一、二、三、四、五
- 空冷岛专题(控制方案、谐波及变压器容量选择)
- 三角函数的图像与性质复习课件
- 初一英语自我介绍PPT课件
- 液氧汽化站安全技术操作规程2018-07.docx
- 督学与校长应彼此“亦师亦友”
- 肺癌的术前后护理案例分析
- 模具专业英文术语大全
- 新教科版(2017版)五年级上册科学 期中测试卷
评论
0/150
提交评论