基于XML的Flash选择题测验模板的研究与实践

来源 :信息技术教育 | 被引量 : 0次 | 上传用户:cs_200901
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  在Flash MX Professional 2004中,虽然Flash本身提供了制作测验的模板,但是,一方面,运用系统自带的模板创作练习课件,需要掌握一定的Flash基础知识;另一方面,利用模板创作练习,虽然简便,但不利于后期的维护与修改,特别是当需要同时添加数量较多的题目时,测验模板就显得有些力不从心了。本文介绍一种全新的制作思路:结合XML技术,将试题信息存放在外部XML文件中,程序运行时,通过Flash ActionScript读取XML文件中的数据,并呈现给用户。
  
  设计思路
  
  本练习模板主要由用户界面文件、数据文件和动作脚本文件三部分组成。用户界面文件向使用者显示试题信息、交互信息(交互按钮和交互结果)等;数据文件主要用来存放试题内容,如题号、题干、各备选项以及正确答案等,它是一个独立的XML文件;动作脚本文件则是用户界面和数据间通信的桥梁,它将XML文档中的数据解析后存放在数组中,并通过界面文件显示出来。在Flash文件中,可以用Flash自带的脚本编辑器编写动作脚本文件。运行时,要将上述三个文件放在同一目录下。本练习模板的各部分关系及其流程如图1所示。
  
  图2 各实例的名称及布局
  2.设置RadioButton实例的属性。选中chA_rb实例,打开“属性”面板,在“属性”面板中选择“参数”选项卡,将data参数的值设为1。以此类推,chB_rb、chC_rb、chD_rb的data参数值分别设为2、3、4,以便在程序中与正确答案进行匹配。
  3.设置动态文本框的属性。分别选中title_txt、chA_txt、chB_txt、chC_txt和chD_txt,在“属性”面板中将其属性设置为“多行”,以满足题干及选项内容过多时的需要。
  
  数据文件
  数据文件是一个XML文件,XML语言是Extensible Markup Language的简称,它是W3C组织采取简化SGML的策略而制定的一种可扩充的标记语言,可以根据信息提供者的需要自行定义标记、属性名及描述法。在本实例中,读者不需要专门学习XML语言,只要按照下面的格式创建一个XML文件即可。如果没有专门的XML编辑器,可以用记事本来编写。
  <?xml version="1.0"?>
  <questions>
  <question>
  <id>1</id>
  <title>世界上第一台电子数字计算机诞生于( )</title>
  <answerA>1945年</answerA>
  <answerB>1946年</answerB>
  <answerC>1947年</answerC>
  <answerD>1948年</answerD>
  <rightanswer>2</rightanswer>
  </question>
  …
  </questions>
  在该XML文件中,<questions>是本XML文件的根元素,一个XML文件只能有一个根元素。<id>元素记录题目的序号;<title>元素记录题干;<answerA>、<answerB>、<answerC>、<answerD>分别记录四个备选项;<rightanswer>记录正确答案。当向程序中添加题目时,只需创建若干个<question>元素,并添加题目序号、题目名称、备选项及正确答案即可。
  有一点请读者注意,当用记事本编辑XML文件时,保存时以.xml作为文件的扩展名,并在“另存为”对话框中的“编码”项中选择UTF-8。
  
  动作脚本文件
  我们创建了用户界面文件和数据文件之后,如何才能将数据文件中的数据在用户界面文件中显示出来呢?这就要用到我们将要介绍的动作脚本文件了。动作脚本文件负责导入外部的XML文件,并对用户界面文件中的交互事件(如click事件)进行处理。
  在“文件”菜单中单击“新建”子菜单,弹出“新建文档”对话框,在“常规”选项卡中选择“动作脚本文件”就可以创建一个外部动作脚本文件,将其命名为action.as。下面是action.as文件中的几处关键代码。
  1.解析XML文档。要将外部的XML文档中的数据导入到Flash程序中来,需要调用XML对象的load方法来加载外部XML文档,格式为:questionXML.load("question.xml");
  其中questionXML为XML对象,而question.xml则为外部XML文档的相对路径。
  当XML文档加载到Flash程序中后,需要在XML对象的onLoad事件中对XML数据进行解析,并将数据存入相应的数组中,其代码如下:
  questionXML.onLoad=function(status):Void 
  {
  for (vari=0;i<n;i++)
  {
  vartempNode:XMLNode=new XMLNode();
  tempNode=this.firstChild.childNodes[i];
  id_array.push(tempNode.firstChild.firstChild.nodeValue);
  title_array.push(tempNode.childNodes[1].firstChild.nodeValue);
  chA_array.push(tempNode.childNodes[2].firstChild.nodeValue);
  chB_array.push(tempNode.childNodes[3].firstChild.nodeValue);
  chC_array.push(tempNode.childNodes[4].firstChild.nodeValue);
  chD_array.push(tempNode.childNodes[5].firstChild.nodeValue);
  rightAnswer_array.push(tempNode.childNodes[6].firstChild.nodeValue);
  }
  }
  2.处理导航按钮的click事件。单击导航按钮,可以在不同的题目之间实现切换,这里以first_pb为例,其他按钮的处理方式与此大体相同,只是在细节上有些差异,其代码如下:
  function first_pb_click(evt:Object):Void
  {
  CN=0;
  first_pb.enabled=false;
  prev_pb.enabled=false;
  next_pb.enabled=true;
   last_pb.enabled = true;
   cq_txt.text = String(CN + 1);
   id_txt.text = String(id_array[CN]);
   title_txt.text = title_array[CN];
   chA_txt.text = chA_array[CN];
   chB_txt.text = chB_array[CN];
   chC_txt.text = chC_array[CN];
   chD_txt.text = chD_array[CN];
  }
  3.处理check_pb的click事件。当用户单击check_pb按钮后,可以对用户所做的问题进行检查,并给出相应的反馈信息,其代码如下:
  function check_pb_click(evt:Object):Void
  {
   check_pb.enabled = false;
   //判断是否答对
   if(radioGroup.selectedData == rightAnswer_array[CN])
   feedback_txt.text = "恭喜你,你答对了!继续努力!";
   else 
   feedback_txt.text = "真遗憾,你答错了,再仔细考虑考虑吧!";
  }
  4.在该Flash程序中,我们使用了Button组件和RadioButton组件。在Flash MX Professional 2004中,组件使用广播器/侦听器模型来处理它们的事件(如click事件等)。因此,我们需要为程序中的组件注册侦听器,来处理它们的事件。下面分别是first_pb和check_pb注册侦听器的代码: 
  first_pb.addEventListener("click",first_pb_click);
  check_pb.addEventListener("click",check_pb_click);
  addEventListener方法有两个参数:第一个参数是事件的名称;第二个参数是侦听器对象,这里我们使用函数作为click事件的侦听器对象。
  动作脚本文件创建后,在用户界面文件中,新建一个action图层,它位于所有图层的上方。打开“动作”面板,在该图层的第一帧中输入如下命令:
  #include“action.as”
  这样运行本模板就可以了。
  本模板在Flash MX Professional 2004下运行通过,其运行效果如图3所示。
  
  <img src="/qkimages/xxjy/xxjy200612/xxjy20061228-3-l.jpg" hspace="15" vspace="5" align="">
  图3运行效果图
  
  结束语
  
  使用Flash制作的选择题测验模板具有文件体积小、交互性强、表现力丰富、便于维护与更新等特点,特别适合制作成网络课件和在线测试题。本文主要介绍使用Flash设计交互选择题测验模板的方法,设计要点是利用UI 组件构建选择题模板中的交互控件;利用外部的XML文件存储试题的数据;利用动作脚本语言实现程序逻辑结构。当需要对测试题进行修改与更新时,只需要修改外部的XML文档即可。该选择题测验模板不但可以单独使用,而且可以和具体的课程结合起来,嵌入到网络课程中。其他类型的测验题课件(判断题、填空题等)也可以用类似的方法进行设计和制作。
其他文献
信息技术课在现阶段大多数的初级中学中,是一门受重视程度不够的“尴尬学科”。有句话说得好,“改变别人,不如改变自己”。笔者认为,信息技术教师不应再怨天尤人,而应该思考怎样才能为学生创造更好的学习氛围,如何教好这门课程。因为它关系到这门学科的发展和教师未来的命运;同时,更关系到学生在未来的信息化社会将如何更好地利用技术,甚至是更好地生存。    学习卡的由来    初中信息技术课程的主要目标是让学生在
随着新课程改革的不断深入和实践,“快乐学习”的理念不断深入人心。如何让学生乐于学习英语词汇是广大教育工作者需要积极探索的问题。进入网络信息时代,DeDict词典横空出世,它是一款非常有创意的第二代电子词典,它利用可视化和脑图模式等先进技术促进学习者左右脑同时记忆。这种方式弥补了传统英语课堂词汇教学的不足,使学习者可以更自由、更主动地去获取知识。    DeDict概述    DeDict是一款开源
引题    自从国家实施基础教育课程改革以来,随着建构主义的盛行,情境创设成为一种时髦进入中小学课堂教学。情境创设也成为信息技术教学中必有的一个环节。然而,在情境创设“繁荣”的背后,却存在着一些隐忧。本期我们将探讨信息技术教学中情境创设的现状与误区,试图引发教师们的思考,寻求解决之道。    俗话说,“良好的开始是成功的一半”。一堂课,能不能吸引学生的注意力,激发学生的求知欲,课堂导入部分起着重要
“教育在线”自从2002年成立以来,为广大教师提供了发展的空间。一大批散落在民间的教育思想者和行动者逐渐汇聚起来,一大批不满教育现状、想要突围的优秀教师集中了起来。在这个网站上,不仅凝聚了名师名校长,像李镇西、韩军、张万祥等人,还有一大批通过网络成长起来的名师。因此“教育在线”的一大贡献就是一批教师在这里成长了起来,所以有人说这里是中国最大的网络学校。  在“教育在线”上,每天都发生着生动而感人的
教学片段对比展示    片段一:多媒体环境  吉林省吉林市昌邑区博达中学杨晶  1.导入新课,走近作者  师:在学习今天的新课之前,请大家先看一段视频。  播放台湾风光片视频。  师:在宝岛台湾,有一名著名的诗人——余光中,让我们一起来认识他。  展示作者及作品的背景资料及相关图片(见图1)。  2.诵读吟咏,整体感知  师:首先,让我们一起来欣赏Flash朗读,跟随画面与范读,一起进入诗人的情感
先给大家分享一个减肥案例:大学生小林(化名),今年19岁,身高1米58,体重62公斤,由于腰壮臀肥略显“壮实”而受到同学的嘲笑。通过节食、运动和减肥药, 短短一个月就瘦了20多斤。体重减下来了, 随之而来的是,之前很有规律的月经却没有了,同时伴有精神不振、皮肤松弛。不得已恢复了之前的生活饮食习惯,月经却没有完全恢复正常,体重迅速反弹,甚至还有增加的趋势。这到底是怎么回事呢?   规律性月经周期是
本节课是深圳市教材小学英语Primary English for China Book 3 Unit 3 In my school bag教学设计的第二课时。    教学设计理念    以北师大何克抗教授的《小学英语教育跨越式发展创新实验的理论基础——语觉论》为指导思想,抓住儿童语言能力发展的关键期,以语言运用为中心,使学生在语境中学习新知,又在运用语言的过程中巩固新知、迁移新知。此外本课还借助现
六年前,学府中学校长钟莉女士赴美学习三个月满载归来,其中的一份礼物,就是当时美国一部新的儿童影片。她把这部电影介绍给学生,并以此为契机,开始了该校电影课题的初步探索。此后,在顾艳主任的主持带领下,学校从每个学科组中选出一位有志于电影课题研究的教师,组成了电影课题研究组,并加入由武汉大学雷桢孝教授牵头的国家“十五”课题———电影课题研究组。从此开始了正式的课题研究,并且确定了学校的研究方向,即如何利
爱普生荣获“中国投影机市场用户满意首选第一品牌”  日前,由中国企业文化促进会、中国中小商业企业协会、人民日报社市场报、中国联合商报社和品牌杂志社主办,多家权威网站联合评选的“第四届中国投影机市场用户满意首选第一品牌”评选结果揭晓,爱普生公司获得这一殊荣。据了解,此次评选活动是完全公益性的社会活动,为了保持公正,主办方采取了多家媒体对入围品牌予以公示,由公众投票的方式最终评定获奖品牌的评选形式。爱
近年来,多媒体以图、文、形、声并茂的特有优势优化了语文课堂教学,使学生在较短的时间和有限的空间里,最大程度地理解文本内容,体会作者情感。我们常能看到一些老师,巧妙地运用多媒体课件,大大提高了课堂效率,使语文课堂呈现出无限精彩。然而,若把技术手段当作目的则有失偏颇,千篇一律地运用多媒体,用得不好就会画蛇添足,使教学成为摆弄媒体的“花拳绣腿”。笔者最近作为评委,参与了常州市某区多媒体课堂教学比赛活动,