查看: 4628|回复: 5
打印 上一主题 下一主题

Flash AS教程3:影片剪辑的AS编写规则

[复制链接]
.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2012-10-19 17:06:03 |只看该作者 |倒序浏览
电影剪辑动作的编写
电影剪辑在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 作者:寒松
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

0

主题

1

听众

2458

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-2-22 18:16:33 |只看该作者
Thanks for sharing
回复

使用道具 举报

0

主题

2

听众

3238

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2014-2-27 14:51:56 |只看该作者
感谢分享
回复

使用道具 举报

0

主题

2

听众

3238

积分

中级设计师

Rank: 5Rank: 5

纳金币
0
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2014-8-4 12:28:02 |只看该作者
感谢分享
回复

使用道具 举报

42

主题

0

听众

532

积分

初级设计师

Rank: 3Rank: 3

纳金币
103
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2014-10-27 11:39:25 |只看该作者
不错。谢谢分享。收下了。
回复

使用道具 举报

icon    

0

主题

1

听众

110

积分

设计实习生

Rank: 2

纳金币
2
精华
0

最佳新人

6#
发表于 2015-1-23 10:41:40 |只看该作者

pstatus"> 本帖最后由 比巴卜 于 2013-10-28 08:57 编辑

lash AS3制作个性的旋转圆形网页导航,最终效果如下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-14 16:09 , Processed in 0.092882 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部