快速业务通道

用Flash+XML来制作一个考试系统

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08

 做一个Flash+XML的考试系统
考试题xml.rar
在XML中的文件内容如下:
<root>
<t1key="A">//key指本题的答案
<qu>第1题。。。。。。。</qu>//三个答案,当然也可以多,
<n1>1.A题目</n1>
<n2>B题目</n2>
<n3>C题目</n3>
</t1>
<t2key="B">
<qu>第2题。。。。。。。</qu>
<n1>2.A题目</n1>
<n2>B题目</n2>
<n3>C题目</n3>
</t2>
。。。。。。。
</root>第一帧上AS:欢迎界面,做个按纽,点击按纽后进入第二帧
第二帧 上AS: 解析加载的XML数据,建立几个数组存放题目,选项和答案。实现了随机出题,但不重复。
AS为:
myxml=newXML();//建一XML对象
myxml.ignoreWhite=true;//忽略空格
System.useCodepage=true;//正确显示中文
myxml.load("mmxml.xml");//加载mmxml.xml文档
key_arr=newArray();//存放正确答案的变量
t_arr=newArray();//存放题目及选项的变量
result_arr=newArray();//记录随机排列题目的变量
mykey_arr=newArray();//记录你做出的答案。
myxml.onLoad=function(ss){//加载XML
if(ss){//如果加载成功
trace("loadXMLOK");
len=myxml.firstChild.childNodes.length;//将题目数量存入len中
tt=myxml.firstChild.childNodes;//下面将结果存入数据
for(vari=0;iresult_arr[i]=i;
key_arr[i]=tt[i].attributes.key;//存答案
t_arr[i]=newObject();//将题目及答案存入对象。
t_arr[i].question=tt[i].childNodes[0].firstChild;
t_arr[i].k1=tt[i].childNodes[1].firstChild;
t_arr[i].k2=tt[i].childNodes[2].firstChild;
t_arr[i].k3=tt[i].childNodes[3].firstChild;
}
for(vari=0;i//随机排列题目
tmp=random(len);
v1=result_arr[i];
result_arr[i]=result_arr[tmp];
result_arr[tmp]=v1;
v2=key_arr[i];
key_arr[i]=key_arr[tmp];
key_arr[tmp]=v2;
}
nextFrame();
}else{
trace("loadXMLerror");
}
};
stop();第三帧上AS: 显示题目及选项,放置一按纽操作下一题。
AS: question是一个MC,在库中设置链接ID名:question,它包含有三个RadioButton组件,组名相同,实例名分别为:A_btn,B_btn,C_btn,四个动态文本框,实例名分别为: t_txt,k1_txt,k2_txt,k3_txt.attachMovie("question","qu",1,{_x:50,_y:50});
varv1=0;
qu.t_txt.selectable=false;
qu.t_txt.text=t_arr[result_arr[v1]].question;
qu.k1_txt.text=t_arr[result_arr[v1]].k1;
qu.k2_txt.text=t_arr[result_arr[v1]].k2;
qu.k3_txt.text=t_arr[result_arr[v1]].k3;
v1++;
next_btn.onRelease=function(){
if(qu.A_btn.selected==true){
mykey_arr[v1-1]="A";
}
if(qu.B_btn.selected==true){
mykey_arr[v1-1]="B";
}
if(qu.C_btn.selected==true){
mykey_arr[v1-1]="C";
}
if(v1qu.A_btn.selected=false;
qu.B_btn.selected=false;
qu.C_btn.selected=false;
qu.t_txt.text=t_arr[result_arr[v1]].question;
qu.k1_txt.text=t_arr[result_arr[v1]].k1;
qu.k2_txt.text=t_arr[result_arr[v1]].k2;
qu.k3_txt.text=t_arr[result_arr[v1]].k3;
v1++;
}else{
qu.removeMovieClip();
nextFrame();
}
};第四帧为检测和显示结果,用一动态文本框显示成绩,变量名为total.
AS:vartotal=0;
for(vari=0;iif(mykey_arr[i]==key_arr[i]){//你做的结果和答案对比
total+=10;
//每题10分
}
}
replay_btn.onRelease=function(){//放上重新做一次的按纽
gotoAndStop(1);
}好了,按以上方法自己也可以做个来试试。
考试题xml.rar 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号