注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

清风的博客

我为人人,人人为我。

 
 
 

日志

 
 

Flash+XML的考试系统  

2014-03-12 11:25:07|  分类: 【flash教程】 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Flash+XML的考试系统
在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);
}

  评论这张
 
阅读(66)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017