本例继续讲解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 AS入门涉及理解编程基本概念、熟悉ActionScript语法和使用Flash创作环境。通过不断练习和探索,初学者可以逐渐掌握编程技能,实现富有创意的Flash项目。记住,编程并不难,多练习和实践是提升的关键。让...
《Flash AS3 从入门到精通》是一套全面的教程,旨在帮助初学者掌握Adobe Flash Professional中的ActionScript 3.0编程技术。ActionScript 3.0是Flash平台的核心,用于创建互动性强、动态丰富的网络内容,如动画、...
【标题】:“第一篇原创 Flash AS3.0——第一课时” 在Flash开发领域,ActionScript 3.0(简称AS3.0)是Adobe Flash Professional中的编程语言,用于创建交互式内容、游戏和动画。AS3.0相比之前的版本有显著的性能...
本教程将逐步引导你入门Flash脚本的世界。 首先,我们要认识“动作”面板。在Flash中,所有脚本的编写都是在“动作”面板内完成的。按下【F9】键,你可以调出这个面板。面板分为左右两部分,左侧包括“动作”工具箱...
第一部分是《Flash CS4中文编程教程》PDF格式的书籍,它详细介绍了Flash CS4的基础操作和高级编程技巧。书中涵盖了以下几个主要知识点: 1. **界面与工作流程**:讲解了Flash CS4的工作环境,包括时间轴、舞台、库...
【描述】本教程旨在引导初学者轻松入门AS(ActionScript)编程,通过实例解析常用语句,理解其在Flash动画中的应用,掌握基础的编程概念和规范。 【标签】网络资源,编程入门,ActionScript,Flash动画 【正文】 ...
作为初学者,了解并掌握ActionScript的基础知识是迈向Flash开发的第一步。 一、ActionScript简介 ActionScript起源于早期的脚本语言FALSH,随着技术的发展,逐渐演变为基于ECMAScript的编程语言。它提供了面向对象...
- **鼠标松开时跳转至第一帧**: ```as on(release){ gotoAndPlay(1); } ``` - **鼠标拖出并松开时跳转至第三帧**: ```as on(releaseOutside){ gotoAndPlay(3); } ``` - **鼠标滑过时跳转至第二帧**: `...
影片剪辑是Flash中最常用的对象类型之一,可以通过为它们编写动作脚本来实现复杂的效果。 **实例化** 为了访问影片剪辑实例,通常需要先对其进行实例化。例如: ```actionscript var myMC:MovieClip = new ...
在本教程中,我们将深入探讨如何使用ActionScript 3.0来创建一个简单的MV(音乐视频)制作实例,非常适合学生入门学习。ActionScript是Adobe Flash Professional中的编程语言,用于为交互式内容、游戏和多媒体项目...
例如,如果为一个影片剪辑指定了实例名称 `myMovieClip`,那么就可以通过这个名称访问该对象。 #### 五、ActionScript 高级主题 **面向对象编程**: - **类 (Class)**:用于定义对象的蓝图。 - **对象 (Object)**...
理解如何使用预置的Button、DateChooser、Slider、DataGrid等控件,以及它们的属性、事件、样式和效果是入门的第一步。进阶学习包括如何自定义组件,扩展已有组件的功能,改变外观或创建自己的自定义组件。 管理者...