??????//key指本题的答案 ???????????第1题?。。。。。。。???//三个答案,当然也...">
论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

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

文章类别:Flash | 发表日期:2008-9-21 20:08:38

  做一个Flash+XML的考试系统
考试题xml.rar
在XML中的文件内容如下:
<root>
????<t1?key="A">??????//key指本题的答案
??????????<qu>?第1题?。。。。。。。</qu>???//三个答案,当然也可以多,?
??????????<n1>??1.A?题目?</n1>
??????????<n2>??B题目?</n2>
??????????<n3>??C?题目?</n3>
????</t1>
????<t2?key="B">
??????????<qu>?第2题?。。。。。。。</qu>
??????????<n1>??2.A?题目?</n1>
??????????<n2>??B题目?</n2>
??????????<n3>??C?题目?</n3>
????</t2>
。。。。。。。
</root>
第一帧上AS:欢迎界面,做个按纽,点击按纽后进入第二帧
第二帧 上AS: 解析加载的XML数据,建立几个数组存放题目,选项和答案。实现了随机出题,但不重复。
AS为:
myxml?=?new?XML();??????//建一XML对象
myxml.ignoreWhite?=?true;?????//忽略空格
System.useCodepage?=?true;???//正确显示中文
myxml.load("mmxml.xml");????//加载mmxml.xml文档
key_arr?=?new?Array();?????????//存放正?确答案的变量
t_arr?=?new?Array();????????????//存放题目及选项的变量
result_arr?=?new?Array();??????//记录随机排列题目的变量
mykey_arr?=?new?Array();?????//记录你做出的答案。
myxml.onLoad?=?function(ss)?{?????//加载XML
?if?(ss)?{?????????????????????????????????????????????//假如加载成功
??trace("load?XML?OK");???
??len?=?myxml.firstChild.childNodes.length;???//将题目数量存入len中
??tt?=?myxml.firstChild.childNodes;???????????????//下面将结果存入数据
??for?(var?i?=?0;?i???result_arr[i]?=?i;
???key_arr[i]?=?tt[i].attributes.key;???????????//存答案
???t_arr[i]?=?new?Object();??????????????????????????//将题目及答案存入对象。?????
???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?(var?i?=?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("load?XML?error");
?}
};
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});
var?v1?=?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?(v1??qu.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:?var?total?=?0;
for?(var?i?=?0;?i?if?(mykey_arr[i]?==?key_arr[i])?{??//你做的结果和答案对比
??total?+=?10;
??//每题10分
?}
}
replay_btn.onRelease=function(){???//放上重新做一次的按纽
?gotoAndStop(1);
}?
好了,按以上方法自己也可以做个来试试。
考试题xml.rar
上一篇:{实例}音乐显示棒组件教程 人气:3027
下一篇:{实例}flash条形统计功能 人气:1420
视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058