打字游戏Flash源码提供了一个互动学习平台,通过有趣的打字练习帮助用户提高输入速度和准确性。该源码适用于教育软件开发和个人技能提升项目。
定义变量nub为下面的球体复制过程准备。
```javascript
var num:Number = 0;
```
接着定义xian,当球下落到一定位置(超出屏幕范围)的时候,运行后面的程序以防止系统因大量复制球体而变慢。此处值设为场景y轴上的450。
```javascript
var xian:Number = 450;
```
创建my_array类用于随机出现在黄色球体中的文字内容。
```javascript
var my_array:Array = new Array();
my_array = [欢, 迎, 光, 临, 淘, 沙, 网];
```
定义加载第一个球体的函数jiazai_ball1。
```javascript
function jiazai_ball1() {
num++;
var ball2 = attachMovie(ball,ball+num,num);
ball2._x = Math.floor(Math.random()*750);
switch (moshi_txt.text) {
case 小写练习 :
numb = random(26)+97;
break;
case 大写练习 :
numb = random(26)+65;
break;
default :
moshi_txt.text = 综合练习;
var xuan_tt = Math.floor(Math.random()*2);
if (xuan_tt == 1) {
numb = random(26)+97;
} else {
numb = random(26)+65;
break;
}
}
ball2.onEnterFrame=function(){
this._y += 3;
if(this._y>=xian){
removeMovieClip(this);
}
};
//球体上的动态文本框中的文本将随机字符转换为编码。
ball2.text.text = String.fromCharCode(numb);
}
```
定义复制另一个球体的函数jiazai_ball2。
```javascript
function jiazai_ball2() {
var ball3=attachMovie(balld,balld+num,num);
ball3._x=Math.floor(Math.random()*750);
ball3.onEnterFrame=function(){
this._y += 5;
if(this._y>=xian){
removeMovieClip(this);
}
};
numb=random(26)+97;
//如果希望黄色的小球也出现随机字母,则使用ball3.text.text=String.fromCharCode(nmub);
ball3.text.text=my_array[Math.floor(Math.random()*my_array.length)];
}
```
将刚才的球体加载函数调用进场景中。
```javascript
function diao1(){
jiazai_ball1();
}
function diao2(){
jiazai_ball2();
}
//设置diao1函数调用的时间间隔
id1=setInterval(diao1, 1000);
id2 = setInterval(diao2,5000);
xiaoxie_btn.onRelease=function(){moshi_txt.text=小写练习;};
daxie_btn.onRelease=function(){moshi_txt.text=大写练习;};
```
元件ball中第一帧的代码:
```javascript
stop();
//定义鼠标侦听类...
var keyListener = new Object();
keyListener.onKeyDown = function() {
if (text.text.charCodeAt(0) == Key.getAscii()) {
gotoAndPlay(2);
}
};
Key.addListener(keyListener);
```
关于加分及其他效果的代码非常简单,这里没有详细列出。希望各位朋友能提出建议和批评指正。