一、要实现的效果
单项选择题的效果。
二、准备工作
1.flash cs6 as2.0
2.回答正确和错误的两个图片或影片剪辑
三、制作过程
1、新建一个as2.0的flash文件。并且输入题目和选项。
2、菜单栏里找“窗口”》“组件”。调出“组件”面板。
把Radio button拖到舞台中,选中后在属性面板下,修改
data的值是0(错误答案的值都是0正确答案的值是1)
groupName的值 an1(四个选项都是这个值)
label的值A(其它三个分别是BCD)
四个组件按钮制作完毕的效果
3、制作提交按钮。在组件面板,把button拖到舞台,修改实例名称为tijiao,label的值为提交。
4、制作结果反馈页
新建一个图层,画一个动态文本框,变量设置为jieguo,用来显示对和错,当然此处也可以插入一个影片剪辑,显示对错,可以参考我们前一篇制作多项选择的例子(当然,这里的fankui影片剪辑只是显示对后的笑与错后的哭的元件,不加也没有问题,就是后面的带fankui的代码去掉即可)
5,新建一层写代码
flashistListener = new Object();//定义侦听器对象
flashistListener.click = function() {//定义侦听器对象的click事件函数
if(an1.selection.data==1){
jieguo="对";//画的文字框显示内容
with(fankui) {gotoAndStop("dui");}//小孩笑的那个影片剪辑
}
else{
jieguo="错";
with(fankui){gotoAndStop("cuo");}
}
};
tijiao.addEventListener("click", flashistListener);//讲提交按钮注册到监听
6效果测试
7,还有一种代码的写法,就是不用提交按钮,选择后直接就显示对或错,这种写法就直接不用做提交按钮了,
flashistListener = new Object();//定义侦听器对象
flashistListener.click = function(evt) {//定义侦听器对象的click事件函数
result= evt.target.selection.data;//将用户单击的那个单选按钮的data值保存在变量result中
if(result==1){
jieguo="对";
with(fankui) {gotoAndStop("dui");}
}
else{
jieguo="错";
with(fankui){gotoAndStop("cuo");}
}
};
an1.addEventListener("click", flashistListener);//将组名为g1的单选按钮注册到侦听器对象
效果
8、当然我们还可以设置一些变量,用来记录得分,比如出三道题,每做对一道题加10分,最后显示得分。
在代码开头设置一个变量df
在回答正确的执行程序里写入,df=df+10,就是回答正确加10分
舞台上画一个动态文本,设置变量为df
即可实现显示得分的效果。
9、如果设计了好多个问题,那么每一个问题的关键帧都要把最后一句代码写入,比如第二个问题的单选框的groupName是an2
那么要加一句
an2.addEventListener("click", flashistListener);