推荐给好友 上一篇 | 下一篇

用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 (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文件相同的目录下。



 

评分:0

我来说两句

seccode