JSFL実用例

2875 ワード

JSFFは強力なものであり、研究が深ければ深いほどその機能の強さが発見される.
JSFF格納パス
1)JSFLファイルは、Adobe Falshで開く方法を選択すれば、ディスクに単独で保存できます.
2)JSFLファイルをC:Documents and Settings*username*Local SettingsApplication DataAdobeFlash CS 4zh_に置くことができますCNConfigurationCommandsは、Flashファイルのいずれかにアクセスし、コマンドメニューを選択すると、新しいJSFFが表示されます.
   
1つ目の保存方法は、Javaなどの他のツールで一括操作のスクリプトを書くのに適していますが、2つ目の方法は、特定のFlash操作のスクリプト化(美術の複雑で退屈な操作を行うなど)を容易にします.
JSFLでの関数の使用
スクリプトに関数の呼び出しを追加するには、次のようにします.
   
 function print(_message)
     {
          fl.trace(_message);
          //return something  if you want you can return somethings
     }

JSFLの関数とAsコードの関数はいくつかの点で異なることに注意してください.
1)JSFLにおける関数(変数を含む)宣言は使用されず、var i:intなどのタイプを指定できない
2)関数にretun結果が必要な場合は、直接returnでfunctionの前にreturnのタイプを宣言する必要はありません.
ファイルの書き込み操作
JSFLの強さは、ファイルを書くことができ、他のプログラムと情報を共有しやすいことです.
書類の書き方はとても簡単です
     FLfile.write( filePath , message , "append");
ファイルに埋め込まれたファイルのパスは、次のとおりです.file:///test.xml
メッセージは書き込みが必要な内容です
appendパラメータは、書き込みを上書きするのではなく、既存のファイルの最後に追加することを示します.
ステージ関連クラス
1)Document:Documentとは,ユーザが開いたFLAファイルであり,1つのFLAファイルがDocumentである.
2)Timeline:TimelineはFlashを編集するためのタイムラインです
3)Layer:Layerは時間軸上の層である
4)Frame:Frameはレイヤー内のフレームです
5)Element:Elementはフレーム内の要素、つまりステージ上で見られる要素です
ステージ上の要素は、継承関係のあるSymbolInstance->Instance->Elementです
Library関連クラス
1)Libraryは対応するFlashのライブラリ
2)Itemは,ライブラリに対応するオリジナルである.
インスタンスのデモ
下のスクリプトを実行すると、選択した構成部品内のすべての表示オブジェクトの座標が(0,0)点になります.
fl.outputPanel.clear()
start();
function start()
{
    if(document.selection.length!=1)
    {
       fl.trace("   ,         ");
       return;
    }
    var element=document.selection[0];
    //             
    if(element.elementType!="instance"||element.instanceType!="symbol")
    {
       fl.trace("   ,       ");
       return;
    }
    //        
    fl.getDocumentDOM().enterEditMode('inPlace');
    
    //     z       
    var timeline=document.getTimeline();
    for(var j=0;j<timeline.layers.length;j++)
    {
       moveElement(timeline.layers[j])
    }
    //    
    fl.getDocumentDOM().exitEditMode();
}
//          (0,0)   
function moveElement(layer)
{
    //           
    for(var i=0;i<layer.frames.length;i++)
    {
       var frame=layer.frames[i];
       //             
       for(var j=0;j<frame.elements.length;j++)
       {
           var element=frame.elements[j];
           
           element.x=0;
           element.y=0;
       }
    }
}

著者:王突破
email :[email protected];