全Flash动画网站实例教程
这时候我们就需要用循环的功能了,最开始,如果你看不懂,那么你并不需要去深究到底是怎么写法,粘贴过去,然后去改你需要改的部分吧。

这里有5个按钮,按钮的名字是pm1,pm2---pm5,当鼠标经过这些mc的时候,如果经过的不是已经点过的mc的话,就播放这个mc的“s1”部分,鼠标离开的时候,满足同样条件就播放“s2”部分,点击这个mc的话,上一个被点的mc播放"s2"部分(通常也就是回到初始的状态),
function rollover() {
if (_root.a != this.indexNum) {
this.gotoAndPlay("s1");
}
}
function rollout() {
if (_root.a != this.indexNum) {
this.gotoAndPlay("s2");
}
}
function release() {
this._parent["pm"+_root.a].gotoAndPlay("s2");//上一个被点的按钮执行播放s2
_root.a = this.indexNum;
//上面的代码顺序不能错。代码执行也是有顺序的,
//点击后需要做的事情写在这里。
}
for (var i:Number = 1; i<6; i++) {
this["pm"+i].onRollOver = rollover;
this["pm"+i].onRollOut = rollout;
this["pm"+i].onRelease = release;
this["pm"+i].indexNum = i;
}
这段代码很简单,是as比较基础的语句,关于for,以及if语句的用法,请自己在网上找,有的是。其实,做flash站,最常用的语句就是这两个,应该理解透。新手朋友需要注意的是
if后面的条件要用==来判断,如果只写一个=,那么这个条件就永远都成立,因为=是赋值的意思,而==才是判断,
这里的for (var i:Number = 1; i<6; i++) 部分,如果你有5个按钮那么i<6,如果6个就i<7
需要非常重视的是这个东西_root.a,这是一个变量,我叫这个东西为“标志位”,当然也可以叫做_root.abcde,在这里利用这个_root.a=来记录当前鼠标事件的对象,当点了btn1的时候,这个_root.a=1,_root在as里是顶级的位置,我们写_root.a=1就是表明在主时间轴建立一个变量值为1,之所以用顶级位置,就是因为调用起来简单,方便,在任何地方都可以用,这里涉及到路径和层级的知识,稍后说明。。。。。总之在我们需要记录一个数据,比如页数,比如按钮序号,等等的时候,这个“标志位”使用起来是很方便的。在下面我们还会用到。
另外一个推荐熟悉的部分是movieClipTween这个功能扩展,这个类,或者这个方法,简单的说就是用脚本而不是 用时间轴来安排动画,在很多时候,我们如果用脚本的方式来实现一些mc的交互会更加方便,同时更加灵活,这样做的好处是,比如你需要一些按钮,你并不需要为每一个按钮安排时间轴和建立关键桢,所有动作都用脚本生成。而且很直观,我不是很会形容这个的好处,但是相信没有用过的朋友们一定会习惯并且喜欢这种动画创作方式。下图为例:
具体的脚本如上所示。
需要知道的是,这个扩展的功能并非flash安装后自带的,你需要下载这个后缀名为mxp的扩展包,安装需要有extention manager这是adobe公司的免费软件,如果你安装了dw9就同时安装了。。安装之后,参数的使用方法非常简单,在flash的帮助文档里会添加出相关的项目,虽然是英文的,但是也非常易懂。

