2012-02-12 14 views
2

フラッシュIDEからパススルーコードへのパス(一連のポイント)を取得する簡単な方法はありますか?AS3へのフラッシュIDEパス

たとえば、コリジョンオブジェクトとして使用したいと思うゲームワールドのアウトラインを描きたい場合は、AS3で描画したパスの頂点を取得したいと考えています。

ダミーのムービークリップをたくさん作成し、それらをdrawinパスの頂点に配置し、それらを「dummy01」、「dummy02」、「dummy03」などと呼んでからAS i子供たちに反復してその道を再構築しましたが、それは本当に醜いです。私はそれを行うためのよりよい方法が必要であると確信しています。

ヒント

答えて

3

  1. はあなたから頂点を抽出したい形状を選択します(以下の手順では、Flash ProfessionalのCS5のために適用されます)。
  2. 新しい.jsflファイル(ファイル>新規...> Flash Javascriptファイル)を作成します。以下のコードを貼り付け:

    var vertices = fl.getDocumentDOM().selection[0].vertices; 
    var resultArrayString = "var vertices:Array = ["; 
    for(var i = 0; i < vertices.length; i++) { 
        resultArrayString += "{x:" + vertices[i].x + ", y:" + vertices[i].y + "}" + ((i < vertices.length - 1) ? ", " : "];"); 
    } 
    fl.trace(resultArrayString); 
    
  3. を押して「ファイル名を指定して実行スクリプト」ボタン(灰色の「再生」ボタン)コンソールで
  4. ルックを、あなたは今、選択のためのすべての頂点の座標を含む完全な配列を持っていますオブジェクトをコピーして、必要な場所のas3コードに貼り付けることができます。

出力の例:

var vertices:Array = [{x:371.95, y:146}, {x:377.95, y:179}, {x:397.95, y:224}, {x:344.95, y:201}, {x:341.95, y:251}, {x:272.95, y:177}]; 

ヒント:あなたは、定期的にこのスクリプトを使用.jsflファイルを保存し、Flash内からコマンドとして実行する必要がある場合。

+0

これは甘いです!どうもありがとう! – Mat

関連する問題