Timerのdelayはどこまで正確か?細かく設定できるか?
30分の1秒が限界みたい。
Flash Player 10.1以降でそうなった?
♥0 |
Line 34 |
Modified 2010-08-21 22:01:05 |
MIT License
archived:2017-03-20 06:47:50
ActionScript3 source code
/**
* Copyright kjkmr ( http://wonderfl.net/user/kjkmr )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/jPGv
*/
/*
30分の1秒が限界みたい。
Flash Player 10.1以降でそうなった?
*/
package {
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.text.TextField;
import flash.utils.getTimer;
public class FlashTest extends Sprite {
private var _text:TextField = new TextField();
private var _delay:uint = 1000;
private var _timer:Timer = new Timer( _delay );
private var _lastTime:Number;
public function FlashTest() {
//
stage.frameRate = 60;
//
_text.width = stage.stageHeight;
_text.height = stage.stageHeight;
addChild( _text );
//
_timer.addEventListener( TimerEvent.TIMER, _onTimer );
//
_lastTime = getTimer();
_timer.start();
}
private function _onTimer( i_event:TimerEvent ):void {
_text.text = _text.text + "delay : " + String(_delay) + " time : " + String( getTimer() - _lastTime ) + "\n";
_delay -= _delay > 200 ? 100 : _delay > 10 ? 10 : 1;
if ( _delay < 1 ) {
_timer.removeEventListener( TimerEvent.TIMER, _onTimer );
return;
}
_timer.reset();
_timer.delay = _delay;
_lastTime = getTimer();
_timer.start();
}
}
}