按纽的脚本包括在一个on事件的处理句柄之中。
MC的脚本包括在一个onClipEvent事件处理句柄或者on事件的处理句柄之中。
举个例子来说明上面两句话的意思(为了使文章不是空洞的说,因此尽量做出事例来)
以下两个的文件
点击浏览该文件
点击浏览该文件
点击浏览该文件
点击浏览该文件
on(press){
_root.stop()
}
这个可以放到按纽上,也可以放到MC上,如果放到按纽上,点击按纽就执行,放到MC上,点击MC就执行
再举一个例子:
onClipEvent (enterFrame) {
this._x += 2;
}
这个只能放在MC中,放在其他任何地方都是错误。
所谓句柄就是指上面的on和onClipEvent它们都是放在前面,就好象菜刀的刀把一样,所以说叫句柄,就是这个道理。而句柄后面的括号中的是动作,press是按下鼠标的动作,enterFrame是当MC被载入后就不断执行的动作,如果时间轴上只有一桢,它也将不断的读取这一桢,如果你设置的是12桢/秒,那么就会每1/12秒就执行一次{ }中的内容,就是不断的让这个当前的MC的X坐标值加2
所谓事件就是(1)指鼠标动作,因为鼠标有经过,有按下,有按下离开等等(2)指键盘动作,比如按下键盘上的某一个键,(3)指一个MC的载入,比如上面的enterFrame就是指的影片载入之后的动作,如果问:是怎么载入的,答:swf文件一打开就自动载入了。
于是由 句柄(动作){语句} 就构成了语句流程,这就是我们所说的语法规则。
如果要知道有哪些动作,可以参看资料,也可以参看FLASH帮助,参看帮助可以这样操作,选中动作面板中的on或者onClipEvent,点右键,选择帮助,这时就会显示所有的动作。我就不一一去说了,现在要说的是,一个on或者onClipEvent句柄中可以有很多你需要执行的语句,也可以嵌入其他语句流。现在分别说明
(1) 多个语句一起执行
比如把这段代码写在按纽上
on (press) {
mc1._x += 5;
mc2._x -= 5;
mc3._y += 5;
mc4._y -= 5;
}
参看文件(这个SWF播放文件上传错误,愿文件是正确的)
点击浏览该文件
点击浏览该文件
(1) 在句柄中嵌入其他语句
on (press) {
onEnterFrame = function () {
mc1._x += 5;
mc2._x -= 5;
mc3._y += 5;
mc4._y -= 5;
};
}
这里把我们才讲了的语句嵌入,于是一点按纽之后,就不断的执行了。
参看文件
点击浏览该文件
点击浏览该文件
onEnterFrame = function ()前面也提到了,这里又出现了,它是MC时间的处理方法,是采用函数的形式来处理的,中括号中的内容是属于函数的主体。这种写法是一种固定的格式。MC事件的这种写法适合于写在桢上,也适合于嵌入在其他语句中,如果把上面的语句写成
on (press) {
onClipEvent (enterFrame) {
mc1._x += 5;
mc2._x -= 5;
mc3._y += 5;
mc4._y -= 5;
};
}
就是错误的,因为前面已经说了,onClipEvent用于写在MC上的开头,它是句柄
嵌入,还可以嵌入很多,这就给我们看语句带来了难度。