Flash制作选择题模板

如果用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 (j0 && 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 (jmylength-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; mmylength; 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文件相同的目录下。