Action Script 3.0 影片剪辑元件
Action Script 3.0 练习 雪花飘落动画
![Action Script 3.0 练习 雪花飘落动画](https://img.taocdn.com/s3/m/1c8b3209cc17552707220885.png)
Action Script 3.0 练习雪花飘落动画在Flash影片中,如需要使一个类的对象实例在影片中显示,可为对象实例使用stage.addChild()方法。
如需要删除一个已显示对象,则可以使用stage.removeChild()方法。
本练习将使用stage.addChild()方法制作一个雪花飘落的动画,如图6-2所示。
图6-2 雪花飘落动画在显示和删除对象时,还可以使用stage.addChildAt()方法和stage.removeChildAt()分别为对象添加层次和移除固定层次的对象。
(1)在Flash中新建影片文件“snow.fla”,执行【文件】|【导入】|【导入到库】命令,导入矢量素材“resource.ai”如图6-3所示。
图6-3 导入矢量素材(2)新建影片剪辑元件“bgimg”,将图形元件“背景_0”拖动到元件中,并将元件实例化为bgimg,用相同的方法创建雪人和雪花的元件,如下所示。
(3)按F9快捷键,编写ActionScript代码,分别将背景和两个雪人添加到影片中,如下所示。
var _bgimg:bgimg=new bgimg();//将背景图像bgimg实例化stage.addChild (_bgimg);//定义背景图像在影片中可见var _sy:smallyeti=new smallyeti();//将小雪人图像smallyeti实例化_sy.x=380;//定义对象的横坐标_sy.y=320;//定义对象的纵坐标stage.addChild (_sy);//定义对象在影片中可见var _ly:yeti=new yeti();//将雪人图像yeti实例化_ly.x=430;//定义对象的横坐标_ly.y=300;//定义对象的纵坐标stage.addChild (_ly);//定义对象在影片中可见(4)声明一个变量i,用于计算雪花的数量,并为影片添加监听事件,控制雪花的生成,如下所示。
Action Script 3.0 实战 海上升明月
![Action Script 3.0 实战 海上升明月](https://img.taocdn.com/s3/m/5dad952eaaea998fcc220e78.png)
Action Script 3.0 实战海上升明月Flash软件可以制作各种简单补间动作的影片。
例如,制作海上升明月的Flash影片,其中制作月亮升起可以用补间动画来制作,而制作海水波浪则需要遮罩层与补间动画结合使用,如图1-30所示。
图1-30 海上升明月(1)在Flash中新建影片文件“moonraise.fla”,并将素材文件“海上升明月.psd”和“月亮.png”导入到影片的【库】中,如图1-31所示。
图1-31 导入素材文件(2)新建影片剪辑元件“大海”,将位图资源“大海”拖动到场景中,并更改图层名称为“海”,如图1-32所示。
图1-32 创建新影片剪辑元件(3)锁定图层“海”。
在元件中新建图层“海2”,再讲位图素材“大海”拖动到图层“海2”中,修改位图素材的高度为100,按Ctrl+B将其打散,如图1-33所示。
图1-33 修改素材高度(4)新建图层“波纹”,在波纹中绘制线条,并将线条转换为元件“波纹”,如图1-34所示。
图1-34 制作波纹(5)分别在3个图层的第100帧处按F5快捷键插入帧,并将“波纹”图层第100帧转换为关键帧。
分别设置“波纹”元件在第1帧和第100帧处的纵坐标为13,然后创建传统补间动画,如图1-35所示。
图1-35 创建关键帧(6)选中“波纹”图层,右击执行【创建传统补间动画】命令。
选中第50帧,按F6快捷键将其转换为关键帧。
在【属性】面板中设置元件的纵坐标为20,如图1-36所示。
图1-36 修改元件位置实现补间(7)锁定所有图层,右击“波纹”图层,执行【遮罩层】命令即可完成海水流动的动画制作,如图1-37所示。
图1-37 制作遮罩动画(8)新建影片剪辑元件“倒影”,将素材图像“月亮”拖动到舞台中,并按Ctrl+B组合键将素材打散,如图1-38所示。
图1-38 打散素材图像(9)用【选择工具】选择素材图像上半部分,将其删除,如图1-39所示。
图1-39 删除部分素材图像(10)在【时间轴】面板中第400帧处按F5快捷键,将其转换为关键帧。
Action Script 3.0 练习 水面涟漪特效
![Action Script 3.0 练习 水面涟漪特效](https://img.taocdn.com/s3/m/4ea96081a0116c175f0e4885.png)
Action Script 3.0 练习水面涟漪特效在现实生活中,当水滴落到水面时,会将平静的水面打破,形成美丽的涟漪。
使用ActionScript3的复制像素和绘制像素等方法,可以将鼠标单击事件模拟为水滴掉落,制作出逼真的水面涟漪特效,如图6-7所示。
图6-7 水面涟漪特效水面涟漪特效的原理是获取鼠标单击影片时的坐标,并以该坐标的点为圆心,对背景图像应用卷积滤镜。
(1)在Flash中创建影片文件“wave.fla”,并执行【文件】|【导入】|【导入到库】命令,导入素材图像“background.jpg”,如图6-8所示。
图6-8 导入素材图像(2)新建影片剪辑元件“bgimg”,从【库】面板中拖动位图“background.jpg”到影片剪辑元件中,并将影片剪辑元件为ActionScript导出,【类】名称为bgimg,如图6-9所示。
图6-9 为ActionScript导出类(3)按F9快捷键打开【动作】面板,定义影片的刷新频率、创建影片背景图像的实例并定义影片中水面的宽度和高度,如下所示。
stage.frameRate=24;//定义影片的刷新频率var pwidth:Number = 528;//定义影片的宽度var pheight:Number = 400;//定义影片的高度var _bgimg:bgimg=new bgimg();//创建背景图像类的实例(4)创建影片中需要使用的各种对象,并声明鼠标判断的变量,如下所示。
var appearance:BitmapData=new BitmapData(pwidth,pheight,true);//创建位图数据用于绘制水的表面var ores:BitmapData = new BitmapData(pwidth, pheight, false, 128);//创建位图数据用于绘制第一层波纹var ores2:BitmapData = new BitmapData(pwidth*2, pheight*2, false, 128);//创建位图数据用于绘制第二层波纹var psour:BitmapData = new BitmapData(pwidth, pheight, false, 128);//创建位图数据用于装载背景图像var lbuff:BitmapData = new BitmapData(pwidth, pheight, false, 128);//创建位图数据用于实现缓冲var poutp:BitmapData = new BitmapData(pwidth*2, pheight*2, true, 128);//创建位图数据用于实现输出波纹var waveRect:Rectangle = new Rectangle(0, 0, pwidth, pheight);//创建波纹荡漾的矩形边界用于反弹波纹var spoint:Point = new Point();//创建鼠标单击波纹的起点var tranmatr:Matrix = new Matrix();//创建转换矩阵的起点var tranmatr2:Matrix = new Matrix();//创建转换矩阵的终点tranmatr2.a = tranmatr2.d=2;//将载入的图像映射到输出的转换矩阵中var wave:ConvolutionFilter = new ConvolutionFilter(3, 3, [1, 1, 1, 1, 1, 1, 1, 1, 1], 9, 0);//创建卷积滤镜对象var trans:ColorTransform = new ColorTransform(0, 0, 9.960937E-001, 1, 0, 0, 2, 0);//创建颜色转换的对象var water:DisplacementMapFilter = new DisplacementMapFilter(ores2, spoint, 4, 4, 96, 96, "ignore");//创建位图置换对象var leftpress:Boolean=false;//判断鼠标左键是否按下(5)创建构造对象_bg,并将其转换为位图对象,将其输出到构造对象Sprite中,如下所示。
Action Script 3.0 练习 制作图片滚动效果
![Action Script 3.0 练习 制作图片滚动效果](https://img.taocdn.com/s3/m/abda183f83c4bb4cf7ecd184.png)
Action Script 3.0 练习制作图片滚动效果在舞台中绘制一幅宽度较大的风景图画,然后通过创建BitmapData实例绘制一个与该图画大小相同的矩形,并将该图画绘制到矩形上。
最后,使用scroll()方法使矩形向舞台的左侧滚动,效果如图9-19所示。
图9-19 图片滚动效果(1)新建“风景”影片剪辑元件,使用绘制工具在舞台中绘制蓝天、白云和海面,如图9-20所示。
图9-20 绘制图形(2)新建“近处城市”图层,在舞台的右上角使用【钢笔工具】绘制出楼房的轮廓,然后为其填充颜色,如图9-21所示。
图9-21 绘制近处城市(3)新建“近处树丛”图层,在楼房的前面绘制绿色树丛,并为其填充深浅不一的绿色,如图所9-22所示。
图9-22 绘制树丛(4)新建“近处城市倒影”图层,复制刚绘制的楼房和树丛到舞台中,并转换为影片剪辑。
然后,将其垂直翻转,如图9-23所示。
图9-23 垂直翻转元件(5)选择该元件,在【属性】面板中设置【颜色】为“高级”,并调整其参数值,使其产生水面倒影效果,如图9-24所示。
图9-24 设置高级效果(6)新建“远处城市”图层,在海平面处绘制楼房和草地,如图9-25所示。
图9-25 绘制远处城市(7)新建“远处树丛”图层,在草地的上面绘制绿色树丛,如图9-26所示。
图9-26 绘制绿色树丛(8)新建“远处城市倒影”图层,将“远处城市”和“远处树丛”图层中的内容复制到该图层,并将其转换为影片剪辑元件。
然后对其进行垂直翻转,如图9-27所示。
图9-27 垂直翻转元件(9)选择该元件,在【属性】面板中设置【高级】选项的参数值,使其产生水面倒影效果,如图9-28所示。
图9-28 设置高级效果(10)新建“帆船”图层,在舞台中绘制一个帆船,并使用同样的方法为其制作倒影效果,如图9-29所示。
图9-29 绘制帆船(11)新建“波纹”图层,使用【直线工具】在海面上绘制粗细不一的白色波纹,如图9-30所示。
Action Script 3.0 Flash特效
![Action Script 3.0 Flash特效](https://img.taocdn.com/s3/m/bf4a46c8bb4cf7ec4afed083.png)
Action Script 3.0 Flash特效特效指特殊的效果,由计算机制作出来的现实中不可能的效果;或者接近真实生活,但无法拍摄到的效果等。
最先,特效通过计算机制作的图像被运用到了电影作品的制作中。
其视觉效果的魅力有时已经大大超过了电影故事的本身。
而Flash特效是在Flash动画过程中,更多的表现动态过程、阐明抽象原理的一种特殊的效果。
例如,在课件设计中,合理的动画可以表达和传播学科知识,而添加特效后更能提高学生学习兴趣和教学效率,对于以抽象教学内容为主的课程更具有特殊的应用意义。
1.时间轴特效每种时间轴特效都以一种特定方式处理图形或元件,并允许用户更改所需特效的个别参数。
如表1-1列出了Flash CS4中,时间轴可以产生的一些特效效果。
2.Flash滤镜/混合模式使用Flash滤镜(图形效果),可以为文本、按钮和影片剪辑增添有趣的视觉效果。
Flash 所独有的一个功能是可以使用补间动画让应用的滤镜动起来。
如表1-2描述了Flash中滤镜的一些特效及说明。
使用Flash混合模式,可以创建复合图像。
复合是改变两个或两个以上重叠对象的透明度或者颜色相互关系的过程。
混合模式也为对象和图像的不透明度增添了控制尺度。
可以使用Flash混合模式来创建用于透显下层图像细节的加亮效果或阴影,或者对不饱和的图像涂色。
使用混合,可以混合重叠影片剪辑中的颜色,从而创造独特的效果。
混合模式包含以下元素:●混合颜色应用于混合模式的颜色。
●不透明度应用于混合模式的透明度。
●基准颜色混合颜色下面的像素的颜色。
●结果颜色基准颜色上混合效果的结果。
混合模式不仅取决于要应用混合的对象的颜色,还取决于基础颜色。
不同的混合模式,以获得所需效果,如表1-3所示。
表1-3 混合模式ActionScript的发展推动着Flash不断的进步,也为Flash的发展提供了更广阔的舞台,如动画制作、交互设计、视频点播、手持移动设备、游戏制作等诸多领域。
Action Script 3.0 练习 数字进制的转换
![Action Script 3.0 练习 数字进制的转换](https://img.taocdn.com/s3/m/96863313b7360b4c2e3f6485.png)
Action Script 3.0 练习数字进制的转换在数学运算的过程中,经常需要将一个数字转换为不同的进制。
在ActionScript中,可以通过int类的toString()方法将数字强制转换为各种进制的数字的字符串。
本练习将通过编写一个自定义函数,来对浏览者输入的数字进行进制转换,如图4-2所示。
图4-2 数字进制转换编写进行数字转换的自定义函数时,需要通过条件语句对用户选择的单选按钮组件(RadioButton)进行判断。
(1)在Flash中创建新的影片文件“transform.fla”。
将影片背景图像和组件背景图像素材导入到【库】面板中,如图4-3所示。
图4-3 将素材导入到库中(2)新建影片剪辑元件“bgimg”和“cbgimg”,分别将影片背景图像和组件背景图像拖动到元件中,如图4-4所示。
图4-4 创建影片剪辑元件(3)分别右击“bgimg”和“cbgimg”两个影片剪辑元件,将其为ActionScript导出,如图4-5所示。
图4-5 为ActionScript导出元件(4)将按钮(Button)、单选按钮(RadioButton)、标签(Label)和文本域(TextArea)等组件从【组件】面板拖动到【库】面板,即可为影片编写ActionScript代码,如下所示。
import bel;//导入标签类import fl.controls.TextArea;//导入文本域类import fl.controls.RadioButton;//导入单选按钮类import fl.controls.Button;//导入按钮类import fl.controls.ScrollPolicy;//导入滚动条策略类(5)在ActionScript中,将已为ActionScript导出的背景图像实例化,并定义其位置,如下所示。
var bg:bgimg=new bgimg();//将背景图像元件实例化为bgbg.x=0;//定义背景图像的横坐标bg.y=0;//定义背景图像的纵坐标addChild (bg);//定义背景图像在影片中可见var cbg:cbgimg=new cbgimg();//将组件背景图像实例化为cbgcbg.x=0;//定义组件背景图像的横坐标cbg.y=0;//定义组件背景图像的纵坐标addChild (cbg);//定义组件背景图像在影片中可见(6)创建影片的标题以及输入和输出文本的样式对象,如下所示。
Action Script 3.0 练习 制作发光滤镜效果
![Action Script 3.0 练习 制作发光滤镜效果](https://img.taocdn.com/s3/m/1f7ad3f0700abb68a982fb80.png)
Action Script 3.0 练习制作发光滤镜效果在Flash中制作夜晚的动画时,为了将场景表现得更加真实,通常会为夜空中的月亮或星星应用发光滤镜效果。
其实,在ActionScript语言中也可以实现相同的效果,而且与其它代码相结合使用,可以实现对象的动态发光效果,如图11-10所示。
图11-10 发光滤镜效果(1)新建530×400像素的空白文档,然后将素材图像导入到舞台中,如图11-11所示。
图11-11 导入背景图像(2)新建“月亮”图层,在舞台的右上角绘制一个圆形,并将其转换为影片剪辑元件,设置其【实例名称】为“moon”,如图11-12所示。
图11-12 绘制月亮(3)新建“星星”图层,在舞台的左上角绘制星星,并将其转换为影片剪辑元件,设置其【实例名称】为“stars”,如图11-13所示。
图11-13 绘制星星(4)保存该Flash源文件。
然后,在相同目录的文件夹中新建glow.as文件。
在该文件中自定义类和函数,并导入所需的类,代码如下所示。
package {import flash.display.Sprite;import flash.display.MovieClip;import flash.filters.BitmapFilterQuality;//导入设置Bitmap对象呈现品质的类import flash.filters.GlowFilter;//导入发光滤镜类import flash.filters.BitmapFilterType;//导入设置BitmapFilter类型的类import flash.filters.GradientGlowFilter;//导入渐变发光滤镜类import flash.events.TimerEvent;//导入时间事件类import flash.utils.Timer;//导入时间类public class glow extends Sprite {public function glow():void {//主函数体}}}(5)在glow类中,使用var声明程序所需的变量i、j、bool1和bool2,代码如下所示。
Action Script 3.0 练习 控制图像颜色属性
![Action Script 3.0 练习 控制图像颜色属性](https://img.taocdn.com/s3/m/c9c8acd05022aaea998f0f81.png)
Action Script 3.0 练习控制图像颜色属性在ActionScript中,如果想要控制舞台中元件的亮度、对比度和饱和度等,可以通过创建ColorMatrixFilter对象来实现。
而为了使用户可以动态地控制这些属性,则可以通过拖动Slider组件的滑块来调整图像颜色的属性,效果如图11-14所示。
图11-14 控制图像颜色属性(1)将素材图像导入到舞台中,将其转换为影片剪辑元件,并设置其【实例名称】为“mc”,如图11-15所示。
图11-15 设置实例名称(2)打开【组件】面板,将Label组件和Slider组件拖入到【库】面板中,如图11-16所示。
图11-16 拖入组件(3)保存该Flash源文件。
然后,在相同目录的文件夹中新建color.as文件。
在该文件中自定义类和函数,并导入所需的类,代码如下所示。
package {import flash.display.Sprite;import flash.display.Shape;import flash.display.MovieClip;import flash.text.TextFormat;import flash.filters.ColorMatrixFilter;//导入ColorMatrixFilter类import fl.controls.Slider;//导入Slider组件类import bel;//导入Label组件类import fl.events.SliderEvent;//导入Slider组件事件类public class color extends Sprite {public function color() {//主函数体}}}(4)在color类中创建drawRect()函数,该函数在舞台的右下角绘制一个半透明的矩形,该矩形用来衬托显示组件,代码如下所示。
private function drawRect():void{var d:Number = 200; //矩形的宽var h:Number = 100; //矩形的高var x:Number = stage.stageWidth - d;//矩形的x坐标var y:Number = stage.stageHeight - h;//矩形的y坐标var myRect:Shape = new Shape();myRect.graphics.beginFill(0x333333);//填充颜色myRect.graphics.drawRect(x,y,d,h);//绘制矩形myRect.graphics.endFill();myRect.alpha = 0.4; //矩形的透明度addChild(myRect) //显示矩形}(5)创建txtFormat()函数和myLabel()函数。
Action Script 3.0 练习 星光闪烁
![Action Script 3.0 练习 星光闪烁](https://img.taocdn.com/s3/m/cba7b3e2aeaad1f346933f85.png)
Action Script 3.0 练习星光闪烁Flash不仅提供了补间、遮罩和滤镜等制作普通动画的工具,还提供了线条工具、钢笔工具等矢量绘制工具。
使用Flash的矢量绘制工具,可以绘制出各种图形。
本练习将使用Flash的矢量绘制工具绘制星星,制作一个星光闪烁的动画,如图1-43所示。
图1-43 星空闪烁(1)在Flash中新建影片文件“space.fla”,执行【文件】|【导入】|【导入到库】命令,导入素材文件“land.ai”,如图1-44所示。
图1-44 导入素材图像(2)新建图形元件“background”,在元件中绘制一个大小为528px×400px的矩形,并使用放射渐变方式为其填充颜色,如图1-45所示。
(3)新建影片剪辑元件“star”,选择【多角/星形工具】,在【属性】面板中单击【选项】按钮,从【工具设置】对话框中设置星形的边数和角度,如图1-46所示。
图1-46 设置星形工具(4)在【颜色】面板中设置星形的渐变方式为放射渐变,在舞台中绘制一个大小为56px×56px的星形,如图1-47所示。
图1-47 绘制星形(5)新建影片剪辑元件“twink”,将星形元件“star”拖动到“twink”中。
在【时间轴】面板中第48帧处按F6快捷键,将其转换为关键帧,右击第1帧,执行【创建传统补间动画】命令,如图1-48所示。
图1-48 创建传统补间动画(6)单击【时间轴】面板第24帧,按F6快捷键将其转换为关键帧。
分别设置第1帧和第48帧处星形元件的透明度为10%,如图1-49所示。
图1-49 设置星形元件透明度(7)分别为3个关键帧中的星形元件设置发光滤镜,其中【模糊X】为2,【模糊Y】为2,【颜色】为白色(#FFFFFF)并将第24帧中的发光滤镜强度设置为150%,如图1-50所示。
图1-50 设置发光滤镜(8)新建影片剪辑元件“twink2”,用相同的方法制作传统补间动画,并将第1帧和第48帧的元件设置为不透明,第24帧处的元件透明度10%,为元件添加发光滤镜,完成元件制作,如图1-51所示。
Action Script 3.0 重力
![Action Script 3.0 重力](https://img.taocdn.com/s3/m/5c707f16a8114431b90dd88c.png)
Action Script 3.0 重力自由落体运动是只受重力作用的运动,物体开始时是静止的,即速度为0,然后受到重力的作用,速度不断加快,从而实现竖直向下的加速运动。
例如,在舞台中创建一个名称为“mc”的影片剪辑元件,然后通过加速度的方法实现自由落体运动,代码如下所示。
var vy:Number = 0;//初始速度var gra:Number = 0.5;//加速度addEventListener(Event.ENTER_FRAME,onEnterFrame);//侦听enterFrame事件,并调用onEnterFrame()函数function onEnterFrame(event:Event):void{vy += gra; //不断增加的速度mc.y += vy; //实现自由落体运动}测试上面的代码,可以看到物体的初始状态是静止的,然后速度不断加快,这样就实现了自由落体运动。
但这个运动并不真实,因为当物体落到地面时,地面将会给它一个反弹力,如图8-2所示。
图8-2 处理反弹上图中的直线表示地面,圆形表示物体,圆形的小十字表示决定坐标的注册点。
当物体与地面发生碰撞时,物体的纵坐标等于舞台的高度减去物体高的一半:stage.stageHeight – mc.height/2;如果物体的纵坐标大于等于stage.stageHeight – mc.height/2时,就相当于与地面碰撞,此时,地面会给物体反弹力。
由于反弹是竖直向上的,所以可用负值来表示。
例如下面的代码会实现物体的反弹力。
var vy:Number = 0; //物体的初始速度var gra:Number = 0.5; //物体加速度的加速度var bounce:Number = -0.7; //物体的反弹力addEventListener(Event.ENTER_FRAME,onEnterFrame);//侦听enterFrame事件,并调用onEnterFrame()函数function onEnterFrame(event:Event):void {vy += gra;//不断增加的速度mc.y += vy;//实现自由落体运动if (mc.y >= stage.stageHeight - mc.height/2) {//当物体与地面发生碰撞时mc.y = stage.stageHeight - mc.height/2;//设置mc实例正好与地面接触vy *= bounce;//实现反弹力}}上面代码中的反弹加速度,并没有使用“速度+加速度”的公式,而是让速度乘以-0.7。
Flash CS4 ActionScript3.0组件概述
![Flash CS4 ActionScript3.0组件概述](https://img.taocdn.com/s3/m/55d19c1e52d380eb62946dcd.png)
Flash CS4 ActionScript3.0组件概述ActionScript 3.0组件是功能强大且具有一致外观和行为的应用程序。
设计者可以直接使用这些组件,而不用创建自定义的按钮、组合框和列表等。
1.认识Flash CS4组件面板执行【窗口】|【组件】命令,打开【组件】面板,该面板分为User Interface (用户界面)和Video (视频)两组组件。
这两组组件功能介绍如下。
●用户界面组件所提拱的菜单、例表、单选框、复选框等组件,可以很轻松的在Flash 中打造出信息反馈、会员注册等页面。
● 视频组件可以轻松地将视频播放器包括在Flash 应用程序中,以便播放通过HTTP 渐进式下载的Flash 视频(FLV)文件。
2.添加与删除组件在文档中添加组件,只需要将组件拖入到舞台或【库】面板中;如果不需要使用,则删除组件,这样可以减小Flash 文档的大小。
● 在舞台中添加和删除组件在【组件】面板中,选择所需的组件,并将其拖入到舞台中,这样即可在舞台中添加组件。
提示在将组件拖入到舞台的同时,Flash 会将一个可编辑的影片剪辑导入到【库】面板中。
选择舞台中添加的组件,按键或键即可删除该组件。
但是,同时导入到【库】面板中的组件将不会被删除。
视频组件 用户界面组件 拖入至舞台按Delete键删除组件提示从舞台中删除组件是不够的,如果未在【库】面板中删除组件,则在编译时组件还会包括在应用程序中。
●在【库】面板中添加和删除组件在【组件】面板中选择所需的组件,并将其拖入到【库】面板中,这样即可在【库】面板中添加组件。
拖入至【库】面板中选择【库】面板中的组件,单击该面板左下角的【删除】按钮,即可将该组件从【库】面板中删除。
选择单击技巧与删除舞台中的组件相同,选择【库】面板中的组件,按键或键也可删除。
●使用ActionScript添加组件使用ActionScript将组件添加到文档之前,必须将该组件放置在【库】面板中。
Flash_ActionScript_3.0_语言和组件参考MovieClip
![Flash_ActionScript_3.0_语言和组件参考MovieClip](https://img.taocdn.com/s3/m/6262ee1853ea551810a6f524ccbff121dd36c5c2.png)
包flash.display类 public dynamic class MovieClipMovieClip Sprite DisplayObjectContainer InteractiveObject继承DisplayObject EventDispatcher Object子LivePreviewParent类语言版本: A ctionScript 3.0运行时版本: A IR 1.0, Flash Player 9MovieClip 类从以下类继承而来:Sprite、DisplayObjectContainer、InteractiveObject、DisplayObject 和 EventDispatcher。
不同于 Sprite 对象,MovieClip 对象拥有一个时间轴。
在 Flash 创作工具中放到舞台上的子实例无法由父实例构造函数中的代码进行访问,因为在执行代码时尚未在该位置创建这些实例。
在访问子实例之前,父实例必须通过代码创建子实例,或者延迟访问用于侦听子实例以调度其 Event.ADDED_TO_STAGE 事件的回调函数。
如果修改包含补间动画的 MovieClip 对象的下列任一属性,Flash Player 便会停止该MovieClip 对象中的播放头:alpha、blendMode、filters、height、opaqueBackground、rotation、scaleX、scaleY、scale9Grid、scrollRect、transform、visible、width、x 或 y。
但是,它不会停止在该 MovieClip 对象的任何子 MovieClip 对象中的播放头。
查看示例公共属性隐藏继承的公共属性显示继承的公共属性属性定义方accessibilityProperties :DisplayObject AccessibilityProperties此显示对象的当前辅助功能选项。
Action Script 3.0 按钮元件
![Action Script 3.0 按钮元件](https://img.taocdn.com/s3/m/2654803a10661ed9ad51f382.png)
Action Script 3.0 按钮元件使用按钮元件可以创建用于响应鼠标单击、滑过或其它动作的交互式按钮。
可以定义与各种按钮状态关联的图形,然后将动作指定给按钮实例。
按钮实际上是四帧的交互影片剪辑。
当为元件选择按钮行为时,Flash会创建一个包含四帧的时间轴。
前三帧显示按钮的三种可能状态;第四帧定义按钮的活动区域。
时间轴实际上并不播放,它只是对指针运动和动作做出反应,跳转到相应的帧,如图1-19所示。
图1-19 按钮时间轴要制作一个交互式按钮,可把该按钮元件的一个实例放在舞台上,然后给该实例指定动作。
必须将动作分配给文档中按钮的实例,而不是分配给按钮时间轴中的帧,如图1-20所示。
鼠标经过第一个按钮鼠标经过最后一个按钮图1-20 按钮效果按钮元件的时间轴上的每一帧都有一个特定的功能:●第一帧是弹起状态,代表指针没有经过按钮时该按钮的状态。
●第二帧是指针经过状态,代表指针滑过按钮时该按钮的外观。
●第三帧是按下状态,代表单击按钮时该按钮的外观。
●第四帧是点击状态,定义响应鼠标单击的区域。
此区域在SWF文件中是不可见的。
用户可以使用影片剪辑元件或按钮组件创建一个按钮。
其中,使用影片剪辑创建按钮时,可以添加更多的帧到按钮或添加更复杂的动画。
但是,影片剪辑按钮的文件大小要大于按钮元件;使用按钮组件允许将按钮绑到其它组件上,在应用程序中共享和显示数据。
提示使用字体元件可以导出字体并在其它Flash 文档中使用该字体。
Flash 提供了各种内置组件(即带有已定义参数的影片剪辑),您可以使用这些组件将用户界面元素(如按钮、复选框或滚动条)添加到文档中。
ActionScript 30 编程 处理对象
![ActionScript 30 编程 处理对象](https://img.taocdn.com/s3/m/0213831283c4bb4cf7ecd1da.png)
ActionScript 3.0 编程处理对象处理对象ActionScript 是一种面向对象的编程语言。
面向对象的编程仅仅是一种编程方法,它与使用对象来组织程序中的代码的方法没有什么差别。
先前我们将计算机程序定义为计算机执行的一系列步骤或指令。
那么从概念上讲,我们可能认为计算机程序只是一个很长的指令列表。
然而,在面向对象的编程中,程序指令被划分到不同的对象中―代码构成功能块,因此相关类型的功能或相关的信息被组合到一个容器中。
事实上,如果您已经在Flash 中处理过元件,那么您应已习惯于处理对象了。
假设您已定义了一个影片剪辑元件(假设它是一幅矩形的图画),并且已将它的一个副本放在了舞台上。
从严格意义上来说,该影片剪辑元件也是ActionScript 中的一个对象,即MovieClip 类的一个实例。
您可以修改该影片剪辑的不同特征。
例如,当选中该影片剪辑时,您可以在"属性"检查器中更改许多值,例如,它的x 坐标、宽度,进行各种颜色调整(例如,更改它的alpha 值,即透明度),或对它应用投影滤镜。
还可以使用其它Flash 工具进行更多更改,例如,使用"任意变形"工具旋转该矩形。
在Flash 创作环境中修改一个影片剪辑元件时所做的更改,同样可在ActionScript 中通过更改组合在一起、构成称为MovieClip 对象的单个包的各数据片断来实现。
在ActionScript 面向对象的编程中,任何类都可以包含三种类型的特性:∙属性∙方法∙事件这些元素共同用于管理程序使用的数据块,并用于确定执行哪些动作以及动作的执行顺序。
属性属性表示某个对象中绑定在一起的若干数据块中的一个。
Song 对象可能具有名为artist和title的属性;MovieClip 类具有rotation、x、width和alpha等属性。
您可以像处理单个变量那样处理属性;事实上,可以将属性视为包含在对象中的"子"变量。
Action Script 3.0 练习 制作噪点效果
![Action Script 3.0 练习 制作噪点效果](https://img.taocdn.com/s3/m/287155ca9ec3d5bbfd0a7484.png)
Action Script 3.0 练习制作噪点效果通过创建BitmapData实例绘制一个矩形。
然后,使用noise()方法为该矩形应用噪点效果,并以指定的排序索引值输出在舞台中相应次序的位置上,即可为电视机添加应用了噪点效果的显示屏。
预览效果如图9-1所示。
图9-1 电视黑白噪点效果(1)新建一个550×450像素的文档,将所有素材图像导入到【库】面板中。
然后,绘制一个与舞台大小相同的线性渐变矩形,如图9-2所示。
图9-2 绘制矩形(2)新建“地面”图层,在舞台的底部绘制一个矩形,并使用【选择工具】调整其上边线,如图9-3所示。
图9-3 调整矩形上边线(3)在【颜色】面板中设置该矩形的渐变色。
然后,使用【颜料桶工具】为其填充渐变色,如图9-4所示。
图9-4 填充渐变色(4)新建“阴影”图层,在舞台中绘制一个椭圆形,并使用【选择工具】调整其形状。
然后,将其转换为影片剪辑元件,如图9-5所示。
图9-5 转换为影片剪辑元件(5)选择该影片剪辑元件,在【属性】面板中设置Alpha值为“70%”、【混合】为“色彩增殖”,如图9-6所示。
图9-6 设置元件Alpha 值(6)新建“电视机”图层,将“电视机”图片从【库】面板中拖入到舞台中,并放置在“阴影”元件的上面,如图9-7所示。
图9-7 拖入素材图片(7)按Ctrl +S 组合键保存该Flash 源文件。
然后,在相同目录的文件夹中新建noise.as 文件,其包含的代码如下所示。
package{import flash.display.Sprite;//导入Sprite 类public class noise extends Sprite{public function noise(){函数过程}}}在上面的代码中,由于Flash源文件和AS文件在相同目录中,所以package(包)关键字后面无需加上路径名称。
第二行使用import语句导入Sprite类,创建的noise主类需要继承该类。
大学_ActionScript3.0实用教程_1
![大学_ActionScript3.0实用教程_1](https://img.taocdn.com/s3/m/42bda95c7f21af45b307e87101f69e314232fa7e.png)
ActionScript3.0实用教程ActionScript3.0实用教程:使用显示对象8.1 控制时间轴用于控制时间轴的MovieClip方法gotoAndPlay() 跳转至指定的帧然后开始播放时间轴gotoAndStop() 跳转至指定的帧然后停止nextFrame() 跳转至下一帧prevFrame() 跳转至上一帧play() 从当前帧开始播放stop() 在当前帧停止播放【停止影片:1.stop(),2.事件监听】使用帧标签帧标签只可以指定给关键帧。
帧标签不可以含有空格,也不可以以数字开头。
影片剪辑按钮(仍是影片剪辑)与按钮元相似,但却是创建有以下特征按钮的基础:完全动画的可充用的包含其他显示对象按钮元件本身除了基本的鼠标事件是没有太多其他功能的。
一个影片剪辑的按钮有完整的时间轴并在其时间轴中完全支持as驱动,这样可以制作高级交互和特效。
PS:在第某帧插入一帧,这样时间轴就得到了继承。
如果时间轴上没有什么改变,那关键帧就不是必需的。
应该只有在时间轴引入改变时才使用关键帧。
因为即使他们没有任何内容也会比普通帧占去更多资源。
如果希望在时间轴上创建空隙,那么你应该使用普通帧。
给影片剪辑的时间轴中嵌入as代码是给影片剪辑封装功能。
这样可以重用这个影片剪辑而不用写额外的代码。
8.2 使用目标路径导航时间轴在应用程序中给你的显示对象和嵌套显示对象和它们的层级画一个线框图是个很好的主意。
这样会给你一个怎样用as找到显示对象并且告诉它们去做什么的清晰路线。
绝对目标路径和相对目标路径如果想要从任何其他显示对象时间轴中调用舞台,你可以有两种方式调用它:使用一个绝对路径或相对路径。
从时间轴经过绝对路径调用舞台需要调用root时间轴(舞台本身)使用root标识符。
想要声明root作为一个显示对象并且从任何其他显示对象内部的时间轴调用root,代码如下:var myRoot:MovieClip=root as MovieClip;myRoot.doSomething();基本上将root返回的对象作为显示对象,是没有任何影片剪辑属性的,所以我们需要将它重新转型为有用的影片剪辑。
Flash动作脚本
![Flash动作脚本](https://img.taocdn.com/s3/m/6832d5ff4693daef5ef73da1.png)
认识动作面板
添 加 脚 本
查 找
插 入 目 标 路 径
语 法 检 查
自 动 套 用 格 式
显 示 代 码 提 示
调 试 选 项
折 叠 成 对 大 括 号
折 叠 所 选
展 开 全 部
应 用 块 注 释
帮 助
Flash
给Flash文件添加动作脚本
要点导读
在本节中,同学们将会学习如下的知识。 1. 在主场景关键帧中使用ActionScript代码 控制动画播放 2. 引用外部ActionScript文件
Flash
面向对象
类与对象
Flash
Action Script 3.0概述
Action Script 3.0语法规则
在ActionScript 3.0中,一个变量实际上包含三个 不同部分:变量名,可以存储在变量中的数据类型, 存储在计算机内存中的实际值。 对变量来说,数据类型也非常重要。在 ActionScript 3.0中创建变量时,应指定该变量将 保存的数据类型;此后,程序只能在该变量中存储 此类型的数据, 可以使用与该变量的数据类型关联 的特定特性来处理值。 在ActionScript中,要创建一个变量或声明变量, 应使用var语句:“var value1:Number;”。在本例 中,指示计算机创建一个名为value 的变量,该变 量仅存储Number(数值)的数据。用户还可以立 即在变量中存储一个值:“var value2:Number = 17;”。
Flash
Action Script 3.0概述
ActionScript 3.0与2.0区别
3、内存工作方式更有效率。2.0的显示对象,例如MovieClip、 Button、文字、色块、位图等等,一旦被实例化后,就会立 即出现在Flash的舞台中。而3.0的显示对象被实例化后,不会 马上出现,而是等到需要的时候,通过addChild()或 DisplayObjectContainer加入,这样可以减少内存资源的消 耗,使动画运行的更流畅。 4、强制性声明变量。2.0可以不使用关键词声明,直接使用变 量,语法的规范性不强。而3.0一定要通过关键词var声明变量, 同时还引入了const来声明常量。常量一般用来存储某一固定 值,例如圆周率3.14等。 ActionScript 3.0与2.0还有一些区别,例如3.0对象属性统一 取消下划线,代码只能写在时间轴上或外部定义的类.as文件, 这里就不再详述了,大家在以后的学习时深入体会吧。
Action Script 3.0 练习 控制播放FLV文件
![Action Script 3.0 练习 控制播放FLV文件](https://img.taocdn.com/s3/m/0544d56a1ed9ad51f01df27a.png)
Action Script 3.0 练习控制播放FLV文件当FLV视频已经加载到Flash player中,可以使用NetStream对象中的play()、pause()、seek()等方法来控制视频,以实现视频的播放、暂停、停止和跳转等功能。
为了显示视频的已播放时间和总时间,可以通过NetStream对象的time属性、client属性和onMetaData 事件来获取,并可根据这两个时间制作播放进度条。
效果如图12-13所示。
图12-13 控制播放FLV文件(1)打开player.fla源文件,创建按钮影片剪辑元件,并设置【实例名称】为“playBtn”、“pauseBtn”、“stopBtn”、“lastOneBtn”和“nextOneBtn”等,如图12-14所示。
图12-14 制作控制播放按钮(2)创建进度条影片剪辑元件,绘制两个大小相同的矩形并创建遮罩层,设置被遮罩层中矩形的【实例名称】为“processBar”,如图12-15所示。
图12-15 制作进度条(3)返回场景。
将进度条元件放置在舞台中的“电视屏幕”下面,并设置其【实例名称】为“process”,如图12-16所示。
图12-16 放置进度条(4)保存该Flash源文件,并打开AS文件,在player类中创建myButton()函数,该函数设置按钮的默认状态,以及侦听鼠标单击事件,代码如下所示。
private function myButton():void {playBtn.buttonMode = true;pauseBtn.buttonMode = true;stopBtn.buttonMode = true;lastOneBtn.buttonMode = true;nextOneBtn.buttonMode = true;fullScreenBtn.buttonMode = true;normalScreenBtn.buttonMode = true;//启动控制播放按钮元件的按钮模式,使鼠标光标经过该按钮时变成手形pauseBtn.visible = true;playBtn.visible = false;normalScreenBtn.visible = false;//隐藏“播放”按钮和“正常”按钮playBtn.addEventListener(MouseEvent.CLICK,playFlv);//侦听播放按钮单击事件,调用playFlv()函数播放视频pauseBtn.addEventListener(MouseEvent.CLICK,pauseFlv);//侦听暂停按钮单击事件,调用pauseFlv()函数暂停播放视频stopBtn.addEventListener(MouseEvent.CLICK,stopFlv);//侦听停止按钮单击事件,调用stopFlv()函数停止播放视频lastOneBtn.addEventListener(MouseEvent.CLICK,lastOne);//侦听播放上一个视频按钮单击事件,调用lastOne()函数播放上一个视频nextOneBtn.addEventListener(MouseEvent.CLICK,nextOne);//侦听播放下一个视频按钮单击事件,调用nextOne()函数播放下一个视频fullScreenBtn.addEventListener(MouseEvent.CLICK,fullScreen);//侦听全屏按钮单击事件,调用fullScreen()函数进行全屏normalScreenBtn.addEventListener(MouseEvent.CLICK,normalScreen);//侦听屏幕正常按钮单击事件,调用normalScreen()函数恢复屏幕尺寸}(5)创建playFlv()、pauseFlv()和stopFlv()函数,它们分别用来实现视频的播放、暂停和停止功能,代码如下所示。
Action Script 3.0 练习 制作图片模糊效果
![Action Script 3.0 练习 制作图片模糊效果](https://img.taocdn.com/s3/m/b3b34ce7172ded630b1cb684.png)
Action Script 3.0 练习制作图片模糊效果在舞台中绘制一只老鼠,然后通过创建BitmapData实例绘制两个与舞台大小相同的矩形,并使用draw()方法将该老鼠图像绘制到第二个矩形上。
最后,使用applyFilter()方法以第一个矩形以来源位图,对第二个矩形应用模糊滤镜效果,效果如图9-34所示。
图9-34 图片模糊效果(1)新建“mouse”影片剪辑元件,在舞台顶部绘制两个渐变方向相反的矩形,并对其进行复制操作,如图9-35所示。
图9-35 绘制矩形(2)新建“圆角矩形1”影片剪辑元件,在舞台中的相同位置绘制大小不一的圆角矩形,并为其填充颜色,如图9-36所示。
图9-36 绘制圆角矩形(3)使用同样的方法,绘制其它样式的圆角矩形,并分别将其转换为影片剪辑元件,如图9-37所示。
图9-37 绘制其它样式圆角矩形(4)返回到“mouse”影片剪辑元件,将圆角矩形元件拖入到舞台中如图9-38所示的位置。
图9-38 拖入圆角矩形元件(5)新建“地面”图层,在舞台中的底部绘制一个【高度】为“113px”的矩形,并为其填充桔色(#F39700),如图9-39所示。
图9-39 绘制地面矩形(6)新建“老鼠”影片剪辑元件,在舞台中绘制一个黄色渐变圆球,如图9-40所示。
图9-40 绘制圆球(7)新建“耳朵”图层,在圆球左右上方绘制两只耳朵,并为耳朵边缘填充黄色、耳朵中间填充渐变绿色,如图9-41所示。
图9-41 绘制耳朵(8)新建“眼睛”图层,在圆球上绘制两个带有边框的白色渐变椭圆,并在其上绘制两条黑线,如图9-42所示。
图9-42 绘制眼睛(9)新建“鼻子”图层,在圆球的中间部分绘制一个黑色的椭圆,并调整其形状。
然后,在该图形上绘制一个三角“亮点”,如图9-43所示。
图9-43 绘制鼻子(10)新建“牙齿”图层,在“鼻子”图形下面绘制两颗牙齿,并为其填充白色渐变颜色,如图9-44所示。
图9-44 绘制牙齿(11)新建“胡须”图层,使用【铅笔工具】在“鼻子”图形左右上方绘制四根胡须,如图9-45所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Action Script 3.0 影片剪辑元件
影片剪辑元件就是我们平时常说的MC(Movie Clip)。
是一种可重用的动画片段。
影片剪辑元件拥有各自独立于主时间轴的多帧时间轴。
用户可以将场景上任何看得到的对象,甚至整个【时间轴】内容创建为一个MC。
并且,用户还可以将这个MC放置到另一个MC中,除此之外,一段动画(如逐帧动画)也可以转换成影片剪辑元件。
例如,我们每看到的时钟时,其秒针、分针和时针一直以中心点不动,按一定间隔进行旋转。
因此,在制作时钟时,应将这些针创建为影片剪辑元件,如图1-17所示。
图1-17 时钟指针旋转
在Flash中,创建影片剪辑元件的方法同图形元件的创建方法相似,只需在【创建新元件】对话框中,选择【影片剪辑】类型。
然后,将绘制好的影片剪辑元件拖至舞台即可。
当然,用户也可以将所创建的图形等元件,直接转换成影片剪辑元件。
并且双击影片剪辑元件,可以查看该影片剪辑内包含的对象,如图1-18所示。
秒针为影片剪辑元件
查看秒针影片剪辑中包含的图形元件
图1-18 剪辑元件
用户可以将多帧时间轴看作是嵌套在主时间轴内,它们可以包含交互式控件、声音甚至其它影片剪辑实例。
也可以将影片剪辑实例放在按钮元件的时间轴内,以创建动画按钮。
此外,可以使用ActionScript对影片剪辑进行改编。