不好意思,上次我说的那种做法是只有一个题目多个选择答案的做法,不是你所要的那种连线题。
现将连线题的做法贴上,方法不难,但是有点繁索。
效果如下:
http://home.66633.com/guking/choose.swf做法:
1、首先要做一个BUTTON来进行控制。
1-1,我的做法是用一个MC来表现动画效果名为moviebutt,一个只在HIT状态才有内容的BUTTON名为nullbutt,这样我觉得很方便有效,一个MC的INSTANCE可以被多次使用而不占空间,不过每个MC的INSTANCE要放在一个层里并分别设置他们的INSTANCE-NAME;HITHIT状态才有内容的BUTTON是不可见的,但会起作用,而且BUTTON可以放在同一个层里,进行统一管理。
1-2,MC和BUTTON的大小要一样,且放置时要在相同的坐标上才不会使按钮和动画的位置不一致。
1-3,MC只有两个FRAME,做一个动画按钮的一个状态,F6后修改颜色即可。将其中一帧的内容复制后放在BUTTON的HIT帧即可。
1-4,设置MC的FRAME-LABEL,第一帧为HEAD,第二帧为END。
2、再做三个MC,即连线的动画,为line1,line2,line3.第一帧的FRAME-LABEL为HEAD,最后帧为END。动画制作略。
3、现在就要将所做好的BUTTON和MC放入SCENE。
3-1,三个层,l-butt1,l-butt3,l-butt3,分别放moviebutt的INSTANCE,INSTANCE-NAME为l1,l2,l3。
3-2,再加一层l-nullbutt,放在l-butt1,l-butt3,l-butt3层的上面,里面放nullbutt的INSTANCE三个,对应l1,l2,l3,放置时要在相同的坐标上。对应l1的nullbutt的AS如下:
on (release) {//选左面第一个按钮的动画效果控制
lflag=1;//设置左面的判断标志
tellTarget (_root.l1) {_root.l1.gotoAndStop("end");}//按钮的动画效果控制
tellTarget (_root.l2) {_root.l2.gotoAndStop("head");}//按钮的动画效果控制
tellTarget (_root.l3) {_root.l3.gotoAndStop("head");}//按钮的动画效果控制
}
其他的相似,略。
3-4,因为有三个连线的按钮,所以连线动画就要有九个。现只讲三个,其余类似。加三个层,名为line11,line12,line13,这三个层分别放line1的INSTANCE,INSTANCE-NAME为line11;line2的INSTANCE,INSTANCE-NAME为line12;line3的INSTANCE,INSTANCE-NAME为line13。此三层要放在最下面,这样连线动画效果就像从按钮上发出来的。
3-5,加三层,r-butt1,r-butt3,r-butt3,分别放moviebutt的INSTANCE,INSTANCE-NAME为r1,r2,r3。
3-6,再加一层r-nullbutt,放在r-butt1,r-butt3,r-butt3层的上面,里面放nullbutt的INSTANCE三个,对应r1,r2,r3,放置时要在相同的坐标上。对应r1的nullbutt的AS如下:
on (release) {//选右面第一个按钮的动画效果控制
rflag=1;//设置右面的判断标志
tellTarget (_root.r1) {_root.r1.gotoAndStop("end");}
tellTarget (_root.r2) {_root.r2.gotoAndStop("head");}
tellTarget (_root.r3) {_root.r3.gotoAndStop("head");}
if (lflag==1) {//如果左面选第一个按钮的动画效果控制
tellTarget (_root.line11) {_root.line11.Play();}//
tellTarget (_root.line12) {_root.line12.gotoAndStop("head");}
tellTarget (_root.line13) {_root.line13.gotoAndStop("head");}
}
if (lflag==2) {//如果左面选第二个按钮的动画效果控制
tellTarget (_root.line21) {_root.line21.Play();}
tellTarget (_root.line22) {_root.line22.gotoAndStop("head");}
tellTarget (_root.line23) {_root.line23.gotoAndStop("head");}
}
if (lflag==3) {//如果左面选第三个按钮的动画效果控制
tellTarget (_root.line31) {_root.line31.Play();}
tellTarget (_root.line32) {_root.line32.gotoAndStop("head");}
tellTarget (_root.line33) {_root.line33.gotoAndStop("head"); }
}
}
其他的相似,略。
4、至于你所要求的判断对错,我已经设置了lflag、rflag两个标志,见动画。你可以根据他们的值来进行判断后的动画处理。
源程序:
http://home.66633.com/guking/choose.fla