今天帮小学数学低年级教师做一个口算题目的Flash课件。在上新课之前我们可以拿出来对学生进行热身训练,让他们尽快的走进新课程的内容中去。对于低年级数学课来说是很有必要的。这个Flash课件做法如下:
一、课件要素分析
本Flash课件我用到了5个TextField对象,分别用来显示两个操作数、一个操作符、一个等号和一个用于判断对错。用到了一个TextInput组件用来填写计算结果,一个按钮用来提交答案。一个动态文本框用来统计做对题目的数量。
二、程序流程
打开程序会给你出一道题目,当我们输入答案并单击提交按钮,课件会根据做题情况进行判断,如果做对了会显示“√”并接着随机出一道新题目,计数器会加1。如果错了,则会显示“×”,你可以继续做这道题,直到做对为止。
三、代码分析
此Flash课件中有两个重要的函数,一个是RandomNumber函数,该函数用于出 随机数。另一个数chuTi函数,用于出题。程序打开会自动出一道题;单击按钮在做对题目的情况下会出新题目。所以代码中有两处调用该函数。
四、格式化文本内容
代码中有使用了用于格式化文本内容的对象-- TextFormat。由于调用对象的不同,导致调用方法的不同。对于TextField对象我们使用setTextFormat方法调用,而对于TextInput组件,我们则使用setStyle方法调用。
Code
import flash.text.TextField;
import fl.controls.TextInput;
import flash.events.Event;
import fl.controls.Button;
import flash.display.IBitmapDrawable;
var para1:TextField=new TextField();
var para2:TextField=new TextField();
var operator:TextField=new TextField();
var Equal:TextField=new TextField();
var pd:TextField=new TextField();
var res:TextInput=new TextInput();
var nt:Button=new Button();
var i:int = 0;
res.setSize(50,30);
addChild(para1);
addChild(para2);
addChild(operator);
addChild(Equal);
addChild(nt);
addChild(res);
addChild(pd);
para1.x = 40;
operator.x = 80;
para2.x = 110;
Equal.x = 150;
res.x = 180;
pd.x = 250;
para1.y = operator.y = para2.y = Equal.y = pd.y = 100;
res.y = 98;
nt.x = 220;
nt.y = 200;
nt.label = "提 交";
//设置TextField组件
var myStyle:TextFormat=new TextFormat();
myStyle.font = "Verdana";
myStyle.size = 20;
myStyle.color = 0xff0000;
myStyle.bold = true;
//格式化TextInput组件
var tf:TextFormat = new TextFormat();
//para1.text = String(RandomNumber(20));
//operator.text = "+";
//para2.text = String(RandomNumber(10));
//Equal.text = "=";
chuTi();
nt.addEventListener(MouseEvent.CLICK, onclick);
//判断计算结果
function onclick(event:MouseEvent):void
{
if (Number(para1.text) + Number(para2.text) == Number(res.text))
{
pd.text = "√";
i++;
chuTi();
}
else
{
pd.text = "×";
pd.setTextFormat(myStyle);
}
}
//出随机数
function RandomNumber(limit:Number):Number
{
var randomNumber:Number = Math.floor(Math.random()*(limit+1));
return randomNumber;
}
//随机出题
function chuTi()
{
para1.text = String(RandomNumber(20));
operator.text = "+";
para2.text = String(RandomNumber(10));
Equal.text = "=";
res.text = "";
para1.setTextFormat(myStyle);
para2.setTextFormat(myStyle);
operator.setTextFormat(myStyle);
Equal.setTextFormat(myStyle);
pd.setTextFormat(myStyle);
tf.size = 20;
res.setStyle("textFormat", tf);
tj.text = "做对题目数:" + i;
}