前期AN环境准备:
代码添加:
1.新建一个图层并命名为“action”,选择第1帧,打开动作【面板】,添加如下代码:
var cuo1 = 0;
var cuo2 = 0;
var cuo3 = 0;
var cuo4 = 0; //声名4个变量,用来记录每个空的填写错误次数。
var jilu = 0; //声名记录变量,记录正在填写第几个空 。
t1.maxChars = 2;
t2.maxChars = 2;
t3.maxChars = 4;
t4.maxChars = 2;
//设置4个输入文本最多可输入的字符数
2.继续为主场景添加代码。
addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler);
function fl_EnterFrameHandler(event:Event):void{//以SWF文件的帧频重复调用下面代码
t1.addEventListener(FocusEvent.FOCUS_IN,a1);
//当“t1”文本字段接收键盘焦点时调用
function a1(event){
jilu = 1;
}
t2.addEventListener(FocusEvent.FOCUS_IN,a2);
function a2(event){
jilu = 2;
}
t3.addEventListener(FocusEvent.FOCUS_IN,a3);
function a3(event){
jilu = 3;
}
t4.addEventListener(FocusEvent.FOCUS_IN,a4);
function a4(event){
jilu = 4;
}
}
这段代码的作用是时刻检查第几个空正在被填写,当鼠标单击第1个输入文本时为变量jilu赋值为1,鼠标单击第2个输入文本时为变量jilu赋值为2,以此类推。这样用变量jilu的值得变化就可以反映出正在填写第几个空。
3.选中OK按钮,添加事件处理函数及代码。
button_1.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void
{
if (jilu == 1) { //如果变量的值为1
if (t1.text == “答案1”) { //如果文本“t1”的内容为“答案1”
duile.gotoAndPlay(2); //正确的反馈对号播放
} else {
cuowu.gotoAndPlay(2); //错误的反馈问号播放
t1.text = “”; //把文本的内容设置为空
cuo1++; //记录错误次数的变量加1
}
if (cuo1 == 3) {//如果第1个空填写了3次错误答案
k1.gotoAndStop(2); //“k1”跳转到第2帧,显示提示答案
}
}
if (jilu == 2) {
if (t2.text == "答案2") {
duile.gotoAndPlay(2);
} else {
cuowu.gotoAndPlay(2);
t2.text = "";
cuo2++;
}
if (cuo2 == 3) {
_k2.gotoAndStop(2);
}
}
if (jilu == 3) {
if (t3.text == "答案3") {
duile.gotoAndPlay(2);
} else {
cuowu.gotoAndPlay(2);
t3.text = "";
cuo3++;
}
if (cuo3 == 3) {
k3.gotoAndStop(2);
}
}
if (jilu == 4) {
if (t4.text == "答案4") {
duile.gotoAndPlay(2);
} else {
cuowu.gotoAndPlay(2);
t4.text = "";
cuo4++;
}
if (cuo4 == 3) {
k4.gotoAndStop(2);
}
}
}