首先说说AS的基础知识----------------------------------- 做过Flash动画的Flash爱好者们都知道,要做好一个Flash动画,AS是必不可少的,即使只是很简单的几句代码也能起到整个Flash画龙点睛的作用。这里我只简单的介绍一下AS的基本常识。 首先我们要了解AS要写在什么地方,什么时候AS会被触发执行。
1、帧: 写在关键帧上面的AS,当时间轴上的指针走到这个关键帧的时候,就写在这个帧上面的AS就被触发执行了。常见的例子有在影片结尾的帧写上 stop() 等。操作方法就是点选关键帧,然后打开AS面板。
2、按钮: 不同于帧上面的AS,按钮上面的AS是要有触发条件的。要把AS写在按钮上,操作方法是点选目标按钮,然后打开AS面板。举个例子能说的更明白。 假设有一个动画,要让它在播放完同时停止,那么,你要做的就是在这个动画的最后一帧写AS
stop();
再假设有个按钮,效果是按下按钮后停止播放,那么步骤如下。 做一个按钮,放到主场景,点选按钮,然后打开AS面板。现在如果也在按钮上写
stop();
那么,输出的时候就会提示错误。正确的应该这样写
on(release){ stop(); }
这里要比帧的动画多这些代码: on(release){} , 整个代码翻译过来就是:
当(松开){ 停止 }
红色的代码表示鼠标的触发事件事件之一,这里用的是 release 松开,按钮的常用事件:
release 松开 releaseOutside 在按钮外面松开 press 按下 rollOver 鼠标进入按钮的感应区 rollOut 鼠标离开按钮的感应区
现在很明确了:写在按钮上面的AS一定就是这种格式的:
on(事件){要执行的代码}
3、MC(电影剪辑) 如果你看懂了上面的内容,那么写在MC上面的AS和写在按钮上的大同小异。操作方法就是点选MC,然后打开AS面板。看个例子
onClipEvent(load){ stop(); }
同样,MC需要一个事件来触发AS的执行。翻译这段代码就是
当剪辑(载入){ 停止 }
红色代码同样表示一个事件。MC的事件有下面这些:
load 载入,当MC出现的时候执行。也就是除非卸载这个MC,否则load事件内的代码只执行一次 unload 卸载,当MC卸载的时候执行 enterFrame 存在的每个帧。在MC存在的每个帧都要执行一次代码。如果你的场景有100个帧,有个MC从41帧开始出现到100帧才消失,那么这个MC上面的代码执行了60次 mouseDown 按下鼠标,在场景内任何地方都算。和按钮不一样的地方 mouseMove 移动鼠标,只要移动鼠标就执行代码 mouseUp 松开鼠标
同样你要明确:写在MC上的代码一定总是这种格式:
onClipEvent(事件){代码}
看到这里,如果你明白的写在 帧、按钮、MC上的代码有什么不一样,任务就算完成了!