📄 time1.as
字号:
package code{
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.display.MovieClip;
import flash.text.TextField;
import flash.utils.getTimer;
public class Time1 extends MovieClip {
//*************************
// Properties:
public var hours:Number = 0;
public var seconds:Number = 0;
public var minutes:Number = 0;
public var milli:Number = 0;
// Time stamps
public var pauseTime:Number = 0;
public var pauseLength:Number = 0;
public var buttonPressTime:Number = 0;
// Flag
public var timing:Boolean = false;
protected var diff1:Number = int(Math.random()*11);
protected var diff2:Number = int(Math.random()*23);
protected var diff3:Number = int(Math.random()*12);
protected var diff4:Number = int(Math.random()*17);
private var loader:URLLoader;
private var words:Array;
private var resultI:int;
//*************************
// Constructor:
public function Time1() {
pause_btn.visible = false;
// Respond to mouse events
reset_btn.addEventListener(MouseEvent.CLICK,clickHandler,false,0,true);
pause_btn.addEventListener(MouseEvent.CLICK,clickHandler,false,0,true);
unPause_btn.addEventListener(MouseEvent.CLICK,clickHandler,false,0,true);
BeginTurn(false);
// Update screen every frame
addEventListener(Event.ENTER_FRAME,enterFrameHandler);
//addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
//stage.addEventListener(KeyboardEvent.KEY_DOWN,this.reportKeyDown);
//this.name="Time1";
loadDictionary("clientdata.txt");
resultI=0;//int(Math.random()*words.length);
}
private function loadDictionary(path:String):void {
loader = new URLLoader();
loader.addEventListener(Event.COMPLETE,dictionaryLoaded);
loader.load(new URLRequest(path));
}
private function dictionaryLoaded(e:Event):void {
var dictionaryText:String = String(e.target.data);
words = dictionaryText.split(String.fromCharCode(13,10));
trace("-- Dictionary loaded -- " + words.length + " words");
}
//*************************
// Event Handling:
protected function enterFrameHandler(event:Event):void {
var totalTime:Number = (getTimer()/1000)-pauseLength;
var goTime:Number = totalTime-buttonPressTime;
if ( timing ) {
// Calculate time
hours = Math.floor(goTime/3600);
minutes = Math.floor((goTime/3600-hours)*60);
seconds = Math.floor(((goTime/3600-hours)*60-minutes)*60);
milli = Math.floor((goTime-(seconds+(minutes*60)+(hours*3600)))*100);
// Display formatted time
blue_num1.text = format(milli);
blue_num2.text = format(milli+diff1);
blue_num3.text = format(milli+diff2);
blue_num4.text = format(milli+diff3);
blue_num5.text = format(milli+diff4);
seconds_txt.text = format(seconds);
milli_txt.text = format(milli);
resultI=int(Math.random()*words.length);
trace(".... Timeing Reached");
trace(" .... ");
trace(resultI);
}
}
protected function BeginTurn(b:Boolean):void {
if (b==true) {
blue_num1.visible =true;
blue_num2.visible =true;
blue_num3.visible =true;
blue_num4.visible =true;
blue_num5.visible =true;
real_num1.visible =false;
real_num2.visible =false;
real_num3.visible =false;
real_num4.visible =false;
real_num5.visible =false;
} else {
blue_num1.visible =false;
blue_num2.visible =false;
blue_num3.visible =false;
blue_num4.visible =false;
blue_num5.visible =false;
real_num1.visible =true;
real_num2.visible =true;
real_num3.visible =true;
real_num4.visible =true;
real_num5.visible =true;
}
}
public function keyDownHandler(e:KeyboardEvent):void {
//trace("..GetKeyDown Event..");
if (e.keyCode==Keyboard.SPACE) {
if (pause_btn.visible==true) {
PressPlay(1);
} else {
PressPlay(2);
}
}
else if (e.keyCode==Keyboard.ENTER)
{
PressPlay(0);
}
}
protected function PressPlay(ip:int):void {
if (ip==0) {
restart();
real_num1.text = "00";
real_num2.text = "00";
real_num3.text = "00";
real_num4.text = "00";
real_num5.text = "00";
BeginTurn(false);
pause_btn.visible = false;
unPause_btn.visible = true;
} else if (ip==1) {
BeginTurn(false);
pause(true);
pause_btn.visible = false;
unPause_btn.visible = true;
trace("<<<<<<<<");
trace(words.length);
trace(resultI);
real_num1.text = words[resultI].slice(0,2);
real_num2.text = words[resultI].slice(2,4);
real_num3.text = words[resultI].slice(4,6);
real_num4.text = words[resultI].slice(6,8);
real_num5.text = words[resultI].slice(8,10);
} else if (ip==2) {
BeginTurn(true);
pause(false);
pause_btn.visible = true;
unPause_btn.visible = false;
}
}
protected function clickHandler(event:MouseEvent):void {
switch ( event.target ) {
case reset_btn :
PressPlay(0);
break;
case pause_btn :
PressPlay(1);
break;
case unPause_btn :
PressPlay(2);
break;
}
}
//*************************
// Public methods:
public function restart():void {
seconds_txt.text = "00";
milli_txt.text = "00";
buttonPressTime = (getTimer()/1000)-pauseLength;
pause(true);
}
public function pause(b:Boolean):void {
if ( b ) {
pauseTime = getTimer()/1000;
} else {
pauseLength = ((getTimer()/1000)-pauseTime)+pauseLength;
}
timing = !b;
}
//*************************
// Utils:
protected function format(n:Number):String {
if ( n < 10 ) {
return "0" + n;
}
return n.toString();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -