您的位置首页百科知识

怎样用Flash制作选择题课件模板

怎样用Flash制作选择题课件模板

的有关信息介绍如下:

怎样用Flash制作选择题课件模板

  选择题有明辨是非,强化正确,固定知识的好处,是各学段各学科都离不开的训练方式。老师们在上课前都是一课书做一个课件,而且一道题用一个帧做一个界面。如果题目少这倒可以承受,一旦题目过多,显示不是明知之举。于是我为老师们做了一个选择题课件模板,思路是:用外部文本文档存放选择题及答案,让flash运行时加载进来。这样只需要一个操作界面。并且这个模板适用于各学段各学科。

  万能的模板!已经在学校流传……

创建Flash文档、文本文档。两者放在同一目录下。

文本文档中数据有固定样式。

一个段落一道题。每道题 由问题、四个选项和一个应答案项。各项之间用“|”隔开。见下图中红线框里的示例。

Flash文档中时间轴样式。

  纵向分层。横向分块。

  时间轴共分为两部分:第一帧区为加载外部数据到数组,加载成功才跳转到下一场景。第二帧区为主界面。

界面布局

时间思上的代码。

import flash.events.MouseEvent;

System.useCodePage=true;//防中文乱码

var ti:uint=0;//第几题

var txt=[];//贮存导入的数据

var url:String="select.txt";//外部文件地位

var yes:*//变体变量

stop();//停止在第一帧

//加载外部数据

function loadTxt(url:String) {

var loader:URLLoader=new URLLoader();

loader.load(new URLRequest(url));

loader.addEventListener(Event.COMPLETE,LoadFinish);//加载外部完成后

}

//-----二级函数----供调用----------------------------------

function LoadFinish(evt:Event) {

var _arr=evt.target.data.split("\n");

var i:uint=_arr.length;

for (var j:uint =0; j

var s:String=_arr[j].replace(/\s/g,"");

txt[j]=s.split("|");

}

play()//加载完成后再继续动画

}

//提交答案的按钮事件

ok_btn.addEventListener(MouseEvent.CLICK,function(){next_fn()});

function next_fn() {

trace(ti,yes,txt[ti])

if (yes==txt[ti]) {

yes=0;

trace("正确……");

ti++//只有答对了,才可以继续……

} else {

trace("worning");//用于测试,不正确就不进行下一题

}

show_txt.text=txt[ti];//显示问题

answer_1.label=txt[ti];//显示选项A

answer_2.label=txt[ti];//显示选项B

answer_3.label=txt[ti];//显示选项C

answer_4.label=txt[ti];//显示选项D

answer_9.selected=true;//隐藏的,用于清除选项,伪技术。原理:当这个隐形的家伙被代码选中时,显形的四个单选按钮就清除选项了。哈哈……这个,我帮助很多人解决了,代码不能清除单选按钮选项的难题!!!

}

answer_1.addEventListener(MouseEvent.CLICK,who_fn);//侦听

answer_2.addEventListener(MouseEvent.CLICK,who_fn);

answer_3.addEventListener(MouseEvent.CLICK,who_fn);

answer_4.addEventListener(MouseEvent.CLICK,who_fn);

function who_fn(e) {//侦听函数

var str=e.target.name;//谁被点了

yes=str.substr(7,1);//

trace(yes);//用于测试

}

next_fn();//默认显示第一道题。

作者:张志晨

本经验:重点是给出思想。因为做这个模板,是个简单易行的,但方法重要。尤其是解决了Flash中as3的bug:“不能用代码清除单选按钮的项”的难题!