_str2 += obj.zh + "\n";
tmpArr2.push(tmpArr.splice(random, 1)[0]);
}
en_txt.text = _str1;
zh_txt.text = _str2;
}
下一个按钮,重新调用initWord1()函数,利用random()函数随机产生7个单词。
if (this.currentFrame == 3)
{
initWord1();
}
测试按钮,跳转到第4帧,进入比赛模式。
返回按钮,跳转到第二帧,gotoAndStop(2),重新进行游戏模式选择。
返回按钮在第2帧到第4帧采用相同的按钮,跳转如下:
private function backClick(e:MouseEvent):void//返回按钮时间
{
if (this.currentFrame == 2)
{
gotoAndStop(1);
init();
return;
}
if (currentFrame == 4)
{
if(send_mc.visible) return;
}
if (currentFrame == 5)
{
if(send_mc.visible) return;
if (boom) boom.clear();
}
clearTimeout(clearTime);
timer.stop();
gotoAndStop(2);
selectMode();
}
3.5 游戏比赛模式的制作
在比赛模式中对刚刚记的单词进行测试,在规定的120S时间内尽可能多的写正确单词。左边单词随机出现,根据中文意思,来填写英文单词中缺失的部分,点击下一个重新产生一个单词,如果上一个正确的话,得分会加10分,游戏结束统计分数。
图3.5.1比赛模式界面
游戏部分由三个文本框组成,英文为en_txt,中文显示为zh_txt,单词输入为ans_txt,以及下一个按钮ok_btn,还有时间及得分文本框组成。比赛模式的实现是游戏的第一个难点,要使得单词随机出现,英文框中也要随机去除一个字母,同时判断单词是否正确也同样有难度。
3.5.1 中文文本显示
首先随机读取一个单词,中文显示出来,然后对英文进行修改。
random = int(Math.random() * tmpArr.length);
obj = tmpArr[random];
zh_txt.text = obj.zh;
3.5.2 英文文本显示
修改英文单词,随机替换字母,替换规则如下
如果读取的单词长度小于1,那么直接将单词转为”_”;
if (len <= 1){
ans = $str;
en_txt.text = "_";
} Flash益智教育游戏开发(11):http://www.751com.cn/jisuanji/lunwen_2444.html