|
如果用Flash制作课件中的选择题,每次都要打开Flash源文件进行修改,或者重新设计编辑。其实我们可以在Flash中把选择题做成一个模板,每次打开源文件,用文本编辑器编辑选择题的题目、标准答案等,然后直接调用即可。
先来看看完工后的选择题模板的时间轴的结构和界面(图中的序号①~⑩是为了下面的叙述方便而加上去的)。整个动画分为三层:放置按钮的层(Buttons)、放置静态文本及动态文本框的层(Texts)、放置动作代码的层(Actions),下面按动画的层次具体谈谈选择题模板的制作方法。
1、静态文本及动态文本框的层(Texts)
全部文本及文本框放在第11帧。在这一层的上方放上静态文本“选择题(共有 题,每题 分)”,在其中的两个空格里放上两个动态文本框(图中的①和②),文本变量分别为mylength和fen,用来读取题库中的题目总数及每题所占的分数;右上角有一个动态文本框(图中的③)显示最后的得分,文本变量为zongfen;左上方的动态文本框(图中的④)文本变量为tiqi,用来显示题次;图中标示为⑤的动态文本框用来显示题目,文本变量为i;图中标示为⑥的动态文本框用来显示解答者所选答案,文本变量为answer;图中分别标示为⑦、⑧、⑨、⑩的动态文本框用来显示选择题的四个选项,文本变量分别为a、b、c、d。
2、动作代码的层(Actions)
这一层有4个关键帧:分别是第1、10、11、12帧。
(1)第1帧代码如下:
loadVariablesNum ("timu.txt", 0);
// 读入题目
loadVariablesNum ("each.txt", 0);
// 读入每题所占的分数变量
loadVariablesNum ("dan0.txt", 0);
// 读入标准答案
// 下面初始化数组与变量
num = new Array(); //题目数组
num0 = new Array();
//标准答案数组
youchoice = new Array();
//解答者所选答案数组
tiqi = 1; // tiqi为显示题次
zongfen = ""; // zongfen为显示总分
j = 0;
// j为判断是否做完全部题目而设
n = 0;
// n为数组变量
(2)第10帧代码如下:
num = timu.split("#");
// 建立题目数组
mylength = num.length/5;
//获取总题目数
num0 = dan0.split("#");
// 建立标准答案数组
fen = Number(each);
//获取每小题所占分数值
(3)第11帧代码如下:
// 判断题库中是否还有题目,是否继续下一题
if (j〉=mylength) {
stop ();
} else {
// 获取题目
i = num[5*n];
a = num[5*n+1];
b = num[5*n+2];
c = num[5*n+3];
d = num[5*n+4];
}
(4)第12帧代码为:
stop ();
3、按钮层(Buttons)
按钮全部放在第11帧,按钮层里共有8个按钮:[开始]、[上一题]、[下一题]、[完成]按钮以及[A]、[B]、[C]、[D]4个选择按钮,他们的Actions代码分别如下:
(1)[开始]按钮
on (release) {
gotoAndPlay (1);
}
(2)[上一题]按钮
if (j〉0 && j != mylength+1) {
youchoice[n] = answer;
//把之前所选答案写入数组
tiqi = tiqi-1;
//题次减1,返回前一题
n = n-1;
j = j-1;
answer = youchoice[n];
//显示答案数组的前一项的值
}
gotoAndPlay (11);
}
(3)[下一题]按钮
on (release) {
if (j〈mylength-1) {
youchoice[n] = answer;
// 把操作者选择答案写入数组 n++;
tiqi++;
j++;
answer = youchoice[n];
//显示在当前题目所选答案
gotoAndPlay (11);
} else {
stop ();
}
}
(4)[完成]按钮
on (release) {
if (j〈=mylength) {
zongfen = 0;
youchoice[n] = answer;
// 把操作者最后所选答案写入数组
for (m=0; m〈mylength; m++) {
?if (youchoice[m] == num0[m]) {
zongfen = zongfen+Number(each);
// 判断选择是否正确,并计算总分
}
}
n++;
j = mylength+1;
answer = "";// 清空所选答案
} else {
stop ();
}
}
(5)[A]、[B]、[C]、[D]4个选择按钮代码分别如下:
on(release){
answer="A";
}
on(release){
answer="B";
}
on(release){
answer="C";
}
on(release){
answer="D";
}
4、编辑选择题文本
到这里,剩下的工作就是编辑题目(Timu.txt)、标准答案(Dan0.txt)和每个题目所占分数(Each.txt)三个文本文件了。
要注意前两个文本的格式:文本的开头先写“变量= ”,文本中题目与题目之间、题目与题目选项之间、题目选项与题目选项之间用“#”隔开。如题目文本(Timu.txt)的格式是:
timu=计算机中专门用于计算的设备是( )#主板#中央处理器#内存#硬盘#如果需要扫描相片,你需要购置( )#扫描仪#数码相机#数码摄像机#显卡
标准答案(Dan0.txt)文本的格式是:dan0=B#A
每个题目所占分数(Each.txt)文本的格式是:each=6
修改each的值即可改变每个题目所占分数。
最后需要注意的是:把刚才的三个文本文件保存在与Flash文件相同的目录下。
(出处:赛迪网) |