In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

stage.frameRate

frameRateを非常に小さくしたときのENTER_FRAME発行タイミングについて
間隔が0.1, 0.1, 0.9, 1.0倍とゆるやかに変化しているっぽい?
ボタンとかつくるのめんどいので一例だけ書いてとりあえず放置
Get Adobe Flash player
by chibitami 12 Jan 2010
    Embed
/**
 * 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 ); 
           }   
        }
    }
}