上壹篇 / 下壹篇 2007-09-25 16:42:03
查看( 142 ) / 評論( 3 ) / 評分( 5 / 0 )
代碼:
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
打字遊戲 ——V1.0
日期:2007-9-24
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
定義變量
----------------------------------------------------------------------------------------------
*/
fscommand("fullscreen", true);
var Bring_num:Number = 0;
var Bring_maxnum:Number = 20;
var Grade_num:Number = 1;
var Grade_bring:Number = 100;
var Move_speed:Number = 2;
var Bring_speed:Number = 0;
var Press_num:Number = 0;
var Right_num:Number = 0;
var Loss_num:Number = 0;
var Grade_boolean:Boolean = false;
var Interval_num:Number = 0;
var Listener:Object = new Object();
var Addsound:Sound = new Sound();
var Addblast_mc:Object = new Object();
var Time_m:Number = 0;
var Time_s:Number = 1;
var Hide_id:Number;
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bring_word函數功能:隨機產生字符
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
function Bring_word() {
var color_array:Array = new Array(0xffffff, 0x9B4A8B, 0xE0C0DB, 0xAC285E, 0x235CB1, 0x379D37, 0xB1A323);
var txtstyle:TextFormat = new TextFormat();
txtstyle.bold = true;
txtstyle.font = "宋體";
txtstyle.size = 20;
txtstyle.color = color_array[random(7)];
_root.Bring_num++;
if (_root.Bring_num>=Bring_maxnum) {
_root.Bring_num = 0;
}
switch (random(2)) {
case 0 :
txt = random(26)+97;
break;
case 1 :
txt = random(10)+48;
break;
}
_root.createTextField("txt"+_root.Bring_num, _root.Bring_num, random(Stage.width), -(random(200)+10), 25, 25);
this["txt"+_root.Bring_num].text = chr(txt);
this["txt"+_root.Bring_num].setTextFormat(txtstyle);
}
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Interval_event();初始化時產生的字符個數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
function Interval_event() {
Bring_word();
Interval_num++;
if (Interval_num>=3) {
clearInterval(Interval_id);
}
}
var Interval_id:Number = setInterval(Interval_event, 1000);
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
cyc_event下落函數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
function cyc_event() {
function _event() {
for (var i = 0; i<=Bring_maxnum; i++) {
var n:Number = random(2) ? -Math.random()*9 : Math.random()*9;
_root["txt"+i]._y += Move_speed;
_root["txt"+i]._x += n;
if (_root["txt"+i]._y>Stage.height) {
_root["txt"+i].removeTextField();
Bring_word();
Loss_num++;
loss_txt.text = Loss_num;
}
}
}
var cyc_id:Number = setInterval(_event, 50);
}
cyc_event();
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
監聽鍵盤
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
Key.addListener(Listener);
Listener.onKeyDown = function() {
Press_num++;
//trace(Press_num);
if (Grade_boolean) {
Grade_num++;
Grade_boolean = false;
grade_txt.text = "第"+Grade_num+"關";
Move_speed += 2;
for (var i = 0; i<3; i++) {
Bring_word();
}
}
//trace("Press_num="+Press_num);
for (i=0; i<=Bring_maxnum; i++) {
if (_root["txt"+i].text == chr(Key.getAscii())) {
Right_num++;
Addsound.attachSound("Sound_mc");
Addsound.start();
//_root.attachMovie("Blast_mc", "Addblast_mc", _root.getNextHighestDepth(), {_x:_root["txt"+i]._x, _y:_root["txt"+i]._y});
Blast_mc.play();
Blast_mc._x = _root["txt"+i]._x;
Blast_mc._y = _root["txt"+i]._y;
_root["txt"+i].removeTextField();
Bring_word();
if (Right_num>=Grade_bring and Right_num%Grade_bring == 0) {
Grade_boolean = true;
} else {
Grade_boolean = false;
}
}
}
right_txt.text = String(Right_num);
if (Press_num-Right_num>0) {
wrong_txt.text = String(Press_num-Right_num);
} else {
Press_num += Math.abs(Press_num-Right_num);
}
};
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
時間函數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
*/
function Time_event() {
Time_s++;
if (Time_s/60>1) {
Time_m++;
Time_s = 1;
}
time_txt.text = Time_m+":"+Time_s%60;
}
setInterval(Time_event, 1000);
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
簡介函數
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
*/
var newmenu:ContextMenu = new ContextMenu();
newmenu.hideBuiltInItems();
this.menu = newmenu;
newmenu.customItems.push(new ContextMenuItem("作者:Edward.yang", by_event));
newmenu.customItems.push(new ContextMenuItem("QQ:77839683", getqq));
newmenu.customItems.push(new ContextMenuItem("退出", exit_event, true));
function exit_event() {
fscommand("quit", "");
}
function by_event() {
Hide_id = setInterval(hide_by, 5000);
by_mc.gotoAndStop(2);
by_mc._alpha = 0;
by_mc.onEnterFrame = function() {
this._alpha += (100-this._alpha)/8;
this._x += (Stage.width/2-this._x)/8;
this._y += (Stage.height/2-this._y)/8;
//trace(this._alpha);
if (this._alpha>=100) {
delete by_mc.onEnterFrame;
}
};
}
function hide_by() {
by_mc.onEnterFrame = function() {
this._alpha -= 8;
//trace(this._alpha);
if (this._alpha<=0) {
this.gotoAndStop(1);
clearInterval(Hide_id);
delete by_mc.onEnterFrame;
}
};
}
function getqq() {
getURL("tencent://message/?uin=77839683");