memo

Command.thresholdLength のデフォルト値


new RegExp( “^Windows CE” )
thresholdLength = 50;

new RegExp( “^Windows (NT|98/ME|95)” )
thresholdLength = 100;

new RegExp( “^Windows ” )
thresholdLength = 200;

new RegExp( “^Mac OS [0-9]\.” )
thresholdLength = 50;

new RegExp( “^Mac OS [0-9][0-9]\.” )
thresholdLength = 100;

new RegExp( “^Linux” )
thresholdLength = 50;

new RegExp( “^PLAYSTATION 3″ )
thresholdLength = 20;



新機能 ResourcePrefetcher を使ってみる


ResourcePrefetcher を使うと、シーンを移動していないアイドリングタイムにバックグラウンドで自動的に必要な読み込み処理を行ってくれます。また、登録時に設定した SceneId の値とシーンの現在位置を比較して、すぐに必要になりやすいデータから優先的に読み込まれるため、Flash サイトの劇的な高速化が可能です。

ResourcePrefetcher オフの場合
http://nium.jp/misc/fetch_off/

ResourcePrefetcher オンの場合( 3 秒アイドリングすると自動的に読み込み開始)
http://nium.jp/misc/fetch_on/

使い方はこれだけ
var request:URLRequest = new URLRequest( "example.png" );
var sceneId:SceneId= new SceneId( "/index/hoge" );
ResourcePrefetcher.addRequest( request, sceneId );
※ SceneId は省略可能。



ASDoc 他言語化の方法


コメントを以下のように書く
/**
 * <span lang="ja">日本語の説明</span>
 * <span lang="en">English description</span>
 */
asdoc.js を以下のファイルに上書きする
http://blog.progression.jp/wp-content/uploads/2009/12/asdoc.js

※ asdoc.js は ASDoc 書き出し毎に上書きされてしまうため、以下のオリジナルを差し替えてしまう方法がオススメ。
C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\asdoc\templates\asdoc.js



for 文の変数を addCommand() の実行中にもキチンと受け取れるようにする。


protected override function atSceneInit():void {
  // この文字列から一文字づつ 1 秒間隔で出力したい
  var list:Array = "あいうえお".split( "" );

  // 通常だと for 文実行時の i は addCommand 実行中には最終的な結果しか受け取れない
  for ( var i:int = 0, l:int = list.length; i < l; i++ ) {
    addCommand(
      new Wait( 1 ),
      // このタイミングで指定された値をセットする
      new Var( "i", i ),
      function():void {
        // セットされた値は Func インスタンスの getVariable() メソッドで呼び出す
        trace( list[ this.getVar( "i" ) ] );
      }
    );
  }
}


Preloader で本体の読み込みと、外部ファイルの読み込みを同じ LoaderList 内で管理できるようにする


protected override function atCastLoadStart():void {
  addCommand(
    "start",
    new LoaderList( {
        onProgress:function():void {
          trace( this.bytesLoaded, this.bytesTotal );
        }
      },
      // このタイミングで index.swf を読み込み、
      // 進捗を親の LoaderList で管理する
      new PreloadSWF(),
      // その他の外部ファイルを読み込む
      new LoadURL( new URLRequest( "example.xml" ) ),
      new LoadBitmapData( new URLRequest( "example.png" ) )
    ),
    "complete"
  );
}