用Flash MX组件制作测验题(2)
五、增加动作图层11、插入新的图层,并命名为"动作",然后选定"动作"图层第一帧,再选择"窗口/动作"命令,打开动作对话框,对该帧进行动作设置,行为代码为:
// 设置:
right=0 // 用right记录答对题数量,
score=0 // score记录最后的得分
wrong=0 // wrong记录答错题数量,
n=5 // n为每题得分
// 对"检测"按钮用一个函数进行设置。
function onclick() { // 当单击检测按钮时的动作
// 判断第三题对错情况
result3=_root.question3.getValue(); // 取得你选择的结果
if (result3=="C"){ // 设置为C为正确答案
right=right 1
}
if (result3=="A"||result3=="B"||result3=="D"){ // 设置为A、B、D为错误答案
wrong=wrong 1
}
// 得分反馈情况
score=right*n
result.text="你做对了"right"题;" "做错了" wrong "题;" "共得"score"分"
jc.setEnabled(false); // 使"检测"按钮失效
}
12、上面第11步骤中,没有对第一帧的两题进行判断,原因是,在FLASH 中,当帧跳转后,组件的值不被记忆,因此对于第一帧上的两题的判断,用第一帧中的"circle button-next"导航按钮来完成。
六、更改按钮动作
13、选择"试题"图层第一帧中"circle button-next"按钮,然后选择"窗口/动作"命令,打开动作对话框,将行为代码增加为:
on (release) { // 单击该按钮时进行的动作
// 判断第一题对错情况
result1=_root.question1.getValue();
if (result1=="B"){ // 设定第一题的正确答案为B
right=right 1
}
if (result1=="A"||result1=="C"||result1=="D"){ // 设定第一题的错误答案为A、C、D
wrong=wrong 1
}
// 判断第二题对错情况
result2=_root.question2.getValue();
if (result2=="A"){ // 设定第二题的正确答案为A
right=right 1
}
if (result2=="B"||result2=="C"||result2=="D"){ // 设定第二题的错误答案为B、C、D
wrong=wrong 1
}
gotoAndPlay(2); // 单击时跳到第二
}
七、查看效果
14、选择"控制/测试影片"命令,可查看效果。
15、最后通过"文件/发布"命令可发布为可执行文件。
八、特别说明
1、通过对向后翻页按钮的改进,可以统计本页题目正误情况,解决了当帧跳转时,FLASH组件的值丢失的问题。
2、在动作图层的动作设置中 jc.setEnabled(false)语句的作用是:当按下检测按钮后,使检测按钮失去作用,避免了重复记分。
3、检测完成后,可返回到首页,重新开始测试,则重新记分。
页:
[1]