- 最后登录
- 2018-12-19
- 注册时间
- 2012-8-20
- 阅读权限
- 90
- 积分
- 54706
- 纳金币
- 32328
- 精华
- 41
|
电影剪辑动作的编写
电影剪辑在flash中可以说是使用最多的一种元件了,那么对于它的AS也是不少。
在讲解之前,我还是要重新说一下电影剪辑AS的编写规则,和上次讲按钮一样,分为两种,一种是写在电影剪辑本身上,一种是写在时间轴上面。
一、首先咱们先来做个简单的小例子。
或许你不用AS就能做出一个小球的移动动画。但是如果让你用AS来实现小球的移动呢?下面来看看如何用AS来实现吧。
在这个例子里,你首先会了解到如何在电影剪辑本身上编写AS,以及编写规则。
1、 新建立一个电影剪辑元件,里面你就随便画一个圆吧。之后把这个影片剪辑拖放到舞台之中(也就是创建一个此影片剪辑的实例)。
2、 现在开始编写脚本,选中这个MC,按F9打开动作面板,按照图01显示选择onClipEvent,之后在显示的事件中选择enterFrame,然后在里面编写脚本如下:
this._x+=5
图01
这个脚本编写之后应该是:
onClipEvent (enterFrame) {// enterFrame的意思四以影片帧频不断地触发此动作
this._x += 5; //this代表这个影片剪辑自身。_x表示影片剪辑的X轴坐标。
}
图02
呵呵,按下你的ctrl+回车测试一下吧,一个简单的移动动画就搞定了。
从这个例子咱们不难看出,如果把AS写在影片剪辑本身上,那么它是有自己的书写格式的。正确的书写格式就是:
onClipEvent (事件) {
//需要执行的脚本程序
}
这个可以看成是公式,你记住就行了,是写在影片剪辑身上的。括号里的“事件”其实是个触发器,当事件发生时,执行该事件后面花括号中的语句。,具体有哪些事件,我把它们都列出来。
- load 影片剪辑一旦被实例化并出现在时间轴中时,即启动此动作。
- unload 在从时间轴中删除影片剪辑之后,此动作在第一帧中启动。处理与 Unload 影片剪辑事件关联的动作之前,不向受影响的帧附加任何动作。
- enterFrame 以影片帧频不断地触发此动作。
- mouseMove 每次移动鼠标时启动此动作。_xmouse 和 _ymouse 属性用于确定当前鼠标位置。
- mouseDown 当按下鼠标左键时启动此动作。
- mouseUp 当释放鼠标左键时启动此动作。
- keyDown 当按下某个键时启动此动作。使用 Key.getCode 方法获取最近按下的键的有关信息。
- keyUp 当释放某个键时启动此动作。使用 Key.getCode 方法获取最近按下的键的有关信息。
- data 当在 loadVariables 或 loadMovie 动作中接收数据时启动此动作。当与loadVariables 动作一起指定时,data 事件只发生一次,即加载最后一个变量时。当与loadMovie 动作一起指定时,获取数据的每一部分时,data 事件都重复发生。
了解了事件之后,你可以自己试着修改一下脚本,如果让你们点一下鼠标,舞台上的圆就移动一下,该怎么做呢?
关于把AS写在影片剪辑本身的例子先讲到这,下面来看看如果把AS写在时间轴上面的话,应该怎么写。
首先你把刚才的脚本去掉。然后需要为这个影片剪辑实例起一个名字,比如起名为mc
在选中时间轴的第一桢,打开动作面板,输入以下脚本:
mc.onenterframe = function() {
this._x += 5; //你也可以把这句改为mc._x+=5 自己想一下为什么。
};
显而易见,在时间轴上的写法就应该套用以下公式:
实例名.事件名称=function(){
//脚本程序
}
需要注意的是,这种写法的事件名称不要忘了在前面加一个on,比如,事件如果是enterframe的话,你就应该写成onenterframe
下面简单说一下影片剪辑的属性。比如,影片剪辑有自己的X、Y轴坐标,有自己的透明度(_alpha),这些都是它的属性。
那么如何使用这些属性呢?你可以使用“点”语法来对属性进行设置。
把上面的脚本修改一下。
mc.onenterframe = function() {
mc._x += 5;
mc._alpha = random(100);
};
这里我加了一句this._alpha = random(100),它是设置影片剪辑的透明度的,使用的语句就是_alpha。后面的random()函数是随机选取一个100以内的数字作为它的透明度。从这个句子可以看出,“点”语法使用方法就是:实例名.属性(mc._alpha),你甚至可以简单理解为“点”就是“的”,那么this._alpha这句你就可以理解为:影片剪辑mc的透明度
上面的脚本mc._alpha = random(100)也可以改为_root. mc._alpha = random(100)
那么,你就可以理解为:舞台上的影片剪辑mc的透明度是随机选择100内的值。
关于影片剪辑的AS基本编写规则就说到这里,以后在具体的例子当中相信会更深刻的理解。 :)
更多精彩教程,尽在web3D纳金网http://www.narkii.com/college/
文章来源:pconline 作者:寒松 |
|