本例继续讲解AS的基础知识,今天我们来学习Flash AS入门系列教程第七课:影片剪辑第一节创建影片剪辑~~
影片剪辑
影片剪辑就象一个独立的swf一样,运行时不受主时间轴的限制,它有它自已的时间轴。在AS中影片剪辑为 MovieClip 类类型的一个对象。您可以使用 MovieClip 类的属性和方法控制影片剪辑运行时的外观和行为。因此,在下文中将影片剪辑简称为:mc
第一节 创建MC
一.在创作环境中创建MC:
在创作环境中创建MC的方法是:点击“插入”菜单-“新建元件”,在弹出的对话框中为该MC命名,在下面的类型选择中选“影片剪辑”,确定。现在就进入了MC的编辑环境,在这里制作你的MC。制作完成后,点击场景选项卡,则完成了MC的创建。打开库面板,可以看到刚刚创建的MC已在库中。为了能在AS中操作该MC,那么可有两种方式将MC加载到舞台上:一是用鼠标从库中将MC拖到舞台上,然后打开属性面板,为该MC实例命名,比如:mymc_mc。另一种方法是:
在运行中从库中加载MC:
要在运行中从库中加载MC,首先要设置MC的连接标识:在库中右击MC,点击连接,在弹出的对话框中,在“为ActionSprit导出“前的方框中打钩,然后在上面标识符栏内取一个名字,比如:mymc.
attachMovie()方法
有标识符后就可以在运行时用MC的attachMovie()方法加载MC。
格式:MC. attachMovie(“标识符”,“新名称”,深度);
这里MC是指要加载MC的MC,一个MC中是可以加载另一个MC的,当然也可以是主时间轴,如果代码是写在帧上,则常用this或_root来代表主时间轴,推荐使用this,也可以省略不写。如果代码是写在元件上,要主场景加载mc就必须用:_root或this.perent.
getNextHighestDepth() 方法:
深度相当于层的概念,深度的数字越大,则越在上面。如果深度相同,那新加载的对象就会覆盖原来相同深度上的对象,在后面我们会发现这是一个十分有用的东西。在用attachMovie()方法加载MC时,怎样却定深度呢?深度一般可以从0开始,从上加。也有问题,你说我记不住现在深度是多少了,万一用重了,不是就将原来那个对象删了吗?于是getNextHighestDepth() 方法运应而生。
getNextHighestDepth() 方法确定传递给attachMovie()方法的深度值,以确保 Flash 将该影片剪辑呈现在当前影片剪辑中同一级和同一层上所有其它对象的前面。于是我们上面已在库中设好标识符的MC就可以这样加载到场景中:
this. attachMovie(“mymc”,”mymc_mc”,this.getNextHighestDepth());
用attachMovie()方法加载的MC,会被加载到舞台上(0,0)的位置,很显然这不是我们想要的结果,所以加载后往往要设置MC的_x,_y属性,以使它呆在我们希望它呆的地方。
下面来做一个练习:
新建一个MC,居中画一个圆,在第50帧插入关键帧,将圆向右移500象素,创建补间动画。在库中右击圆元件,点击“连接”,在弹出的对话框中,在“为ActionSprit导出“前的方框中打钩,然后在上面标识符栏内取一个名字:mymc.现在回到主场景,右击第一帧,点“动作”,在动作面板中输入:
this. attachMovie(“mymc”,”mymc_mc”,this.getNextHighestDepth());
mymc_mc._x=50;
mymc_mc._y=200;
测试影片,会看到库中的MC被加载到舞台上,一个圆从屏幕的左边向右边移动。
二.在运行时创建MC
createEmptyMovieClip()方法
在运行时可用:createEmptyMovieClip()方法创建一个空的MC,这常常用于需用AS绘图的代码中。
格式:MC. createEmptyMovieClip(”名称“,深度);
例:this.createEmptyMovieCli(”mymc_mc”,this. getNextHighestDepth());
三.复制MC
duplicateMovieClip()方法:
在运行时复制一个MC。
格式:MC.duplicateMovieClip(“新名称“,深度)
比如上面我们已建好的一个MC,mymc_mc,现在要复制它,这样写:
Mymc_mc.duplicateMovieClip(“mymc1_mc”,this.getNextHighestDepth());
duplicateMovieClip()全局函数:
这是一个全局函数而不是MC的方法,虽然它们的作用是一样的,但格式有所不同。
格式:duplicateMovieClip(“要复制的MC的名称”,“新名称”,深度);
仍然以mymc_mc为例,要复制它,这样写:
duplicateMovieClip(“mymc_mc”,“mymc1_mc”,this.getNextHighestDepth())
四.删除加载的MC
removeMovieClip()方法:
对于用attachMovie()方法加载的,用duplicateMovieClip复制的和用createEmptyMovieClip()创建的MC,可以用removeMovieClip()方法移除。
来看看上面我们做那个练习,测试时,小球不停地反复地从左向右运动,现在我们让小球只运动一次,即当小球到达右边时,移除小球MC。
做法:在库中双击小球MC,进入小球元件编辑区,在第50帧上,点右键,点动作,在帧面板中输入:
this. removeMovieClip();
测试影片,当小球移动右边,第50帧时,小球被移除了。
五.几个常用的属性:
MC有很多属性,将在后续课程中陆续介绍,这里先介绍几个常用的属性:
_x,_y:MC在其父级容器中的坐标位置。
_alpha:透明度,其值为0-100;
_rotation:旋转的角度。
_height:高度
_width:宽度
_visible:MC是否可见,些值为true或1,则MC可见,如果为false或非1则不可见。
_xmouse:鼠标位置的x坐标
_ymouse:鼠标位置的y坐标
_xscale:MC宽度的百分比例,可用于设置MC的大小。
_yscale:MC高度的百分比例,可用于设置MC的大小。
六.综合练习:夜色中的荧火虫
下面通过一个夜色中的荧火虫的制作,作为本节内容的综合练习。
首先新建一Flash文档,新建一MC,取名为“荧光”。 用椭圆工具,禁止笔触,绿色填充,居中画一个小圆,2个像素大小就行。居中对齐。点击“修改”-“形状”-“柔化填充边缘“,距离10,步骤5,方向扩展。在第10帧插入关键帧,将圆向下离一段距离。创建补间动画。在库中右击荧光元件,设置标识符为:mymc.
回到主场景,打开帧动作面板输入:
i=0;
onEnterFrame = function() {
if(i<50){
this. attachMovie("mymc","mymc"+i,i);
mymc_mc = eval("mymc"+i);
mymc_mc._x=random(450)+50;
mymc_mc._y=50+random(300);
mymc_mc._rotation = random(360);
i++;
}else {
i=0;
}
}
OK,测试影片。
上面代码通过onEnterFrame事件,使每一过帧从库中加载一次荧光元件,并用一个i变量计数,使荧光数量不超过50。this. attachMovie("mymc","mymc"+i,i);这一句加载语句中的深度用了变量i,而i将会是从0到49,然后回到0,周而复始,这样第二轮的0-49将的深度就与第一轮的相同,上面我们说到了,这时新加载的就会覆盖原来的,这就实现了荧光的更新,同时也保证了荧光的总数量为50个。前面我们说深度的这一特性将会很有用,在这里就用上了。荧光的位置和旋转角度都采用random()来随机产生,这样就实现了,荧光随机出现的舞台上,运动方向也是随机的。
大家可以扩展一下,将加载的荧光元件的_x属性设为:_xmouse+random(50),将_y属性设为:_ymouse+random(50),测试看一看,一个鼠标跟随效果就出来了。
上面练习是用attachMovie()从库中加载元件的方式实现的,用duplicateMovieClip()复制的方法也是可以实现的,方法略有不同:
将库中的灾光元件拖到舞台上,任一位置,打开属性面板,将实例名称设为:mymc_mc.帧动作上的代码为:
mymc_mc._visible = false; //首先将舞台上的荧光元件隐藏。
i=0;
onEnterFrame = function() {
if(i<50){
duplicateMovieClip (“mymc_mc”,"mymc"+i,i);
mymc_mc = eval("mymc"+i);
mymc_mc._x=random(450)+50;
mymc_mc._y=50+random(300);
mymc_mc._rotation = random(360);
i++;
}else {
i=0;
}
}
分享到:
相关推荐
动态创建影片剪辑影片剪辑是 Flash 应用程序中可以播放动画的元件。它们是唯一引用图形元素的数据类型。MovieClip 数据类型允许我们使用 MovieClip 类的方法控制影片剪辑元件。
flash8制作的一个小东西,仅有一个功能:实现了键盘控制影片剪辑文件上下左右的移动,大家不会控制的可以复制文件里面的代码玩一下,只是个参考,很简易。
本资源为 Flash AS2.0 的入门教程,旨在帮助新手快速掌握 Flash AS2.0 的基础知识和编程技术。 本教程首先介绍了 ActionScript 的基本概念,包括什么是 ActionScript、ActionScript 的语法和语句结构等。然后,教程...
flash影片剪辑代码参考,flash影片剪辑代码参考
moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解.rar
FLASH起步AS2.0教程 本资源提供了关于FLASH AS2.0的详细教程,涵盖了FLASH开发的...本资源提供了一个详细的FLASH AS2.0教程,涵盖了FLASH开发的基础知识和高级技术,旨在帮助开发者快速掌握FLASH AS2.0的开发技能。
详细的讲了flash中影片剪辑的制作,附有例子和详细代码
moviepy音视频剪辑:视频剪辑基类VideoClip详解.rar
ActionScript 2.0 教程 Flash MX 2004 编程(AS2.0)教程 ActionScript 2.0 是一种专门为 Flash 开发的编程语言,语法类似于 Javascript 或者 Java。如果您以前接触过这两种语言,您会发现 ActionScript 非常易懂易用...
解决你日常剪辑重遇到的常见问题解决方法,首先从剪映基础操作开始讲起,其次包括音乐文字的常见技巧添加、视频封面制作教程,以及在刷视频的时候会有特别好玩的特效但有些同学不知道怎么制作出了,这里老师会教大家...
使用vue(vue3) + ffmpeg + wasm 实现纯前端音视频编辑,功能包括:视频剪辑、音频剪辑、音频合成裁剪、音波展示、视频抽帧、gif抽帧、帧播放器、字幕、贴图、时间轴、素材轨道.zip
PR教程
FLASH按扭跳到影片剪辑指定帧 假设你这个影片剪辑名字叫做:MC01 需要跳转到MC01的第 N 帧。 按钮名字为: Button01 1. 如果MC01是当前场景中的一个剪辑,则在按钮中加入AS: on(release){ MC01.gotoandstop(N) },...
猫腻讲电影影视解说陪跑特训班,帮你快速找到影视剪辑入门,快速掌握流量密码,快速从0-100W,适合宝妈、学生、上班族、想学习影视剪辑的人群等。 视频大小:1.1G
视频剪辑从入门到精通(初中高)
flash动作脚本-动态文本框、影片剪辑的拖拽、流程控制与循环语句:免费下载
软件爱剪辑的详细教程,能快速入门,制作属于自己的视频。
本资源总结了 Flash AS3.0 中的常用代码,涵盖了全屏播放、跳帧播放、点击播放、退出语句、鼠标滑过影片剪辑时停止播放时间轴、当在影片剪辑上按下鼠标时停止播放影片剪辑、当影片剪辑上松开鼠标时播放影片剪辑、当...
这是一款专为视频剪辑爱好者和专业人士设计的高效工具,它的强大功能和简洁界面,让视频剪辑变得前所未有的简单和快捷。 一键批量处理:无论是裁剪、旋转还是调整亮度,你都可以一次性对多个视频文件进行操作,大大...
一、FLASH脚本基础入门讲解 1 二、按钮AS的编写 4 三、影片剪辑的AS编写 5 四、动态文本框 6 五、影片剪辑的拖拽 8 六、流程控制与循环语句 11 七、绘图及颜色的AS的编写 12 八、声音 AS 的编写与控制 15 九、时间...