stage.frameRate
frameRateを非常に小さくしたときのENTER_FRAME発行タイミングについて
間隔が0.1, 0.1, 0.9, 1.0倍とゆるやかに変化しているっぽい?
ボタンとかつくるのめんどいので一例だけ書いてとりあえず放置
/**
* Copyright chibitami ( http://wonderfl.net/user/chibitami )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/vt9m
*/
package
{
import flash.text.TextField;
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.getTimer;
/*
* frameRateを非常に小さくしたときのENTER_FRAME発行タイミングについて
* 間隔が0.1, 0.1, 0.9, 1.0倍とゆるやかに変化しているっぽい?
* ボタンとかつくるのめんどいので一例だけ書いてとりあえず放置
*/
public class FrameRateTest extends MovieClip
{
private var _textField : TextField;
private function initTraceField() : void
{
_textField = new TextField();
_textField.width = 500;
_textField.height = 400;
_textField.multiline = true;
addChild( _textField );
}
private function _trace( ...data ) : void
{
_textField.appendText( data.join(" ") + "\n" );
}
private var _time : int;
private var _count : int;
public function FrameRateTest ()
{
initTraceField();
_time = 0;
_count = 0;
_trace( "initial frameRate : ", stage.frameRate );
stage.frameRate = 0.5;
_trace( "change frameRate : ", stage.frameRate );
addEventListener( Event.ENTER_FRAME, enterFrame );
}
private function enterFrame( e : Event ) : void
{
var tmp : int = getTimer();
_trace( "interval ", tmp - _time, " ms" );
_time = tmp;
_count++;
if( _count >= 10 ){
_trace( "end enterFrame." );
removeEventListener( Event.ENTER_FRAME, enterFrame );
}
}
}
}