2011-07-12 1 views
3

Illustrator SWFからコンテンツにアクセスする際に問題があります(Illustratorを使用してswfを作成し、画層をシンボルとしてエクスポートします)。 フラッシュを使用してswfファイルを作成すると、このコードを使用して図形やシンボルにアクセスできます。フレックスまたはアクションスクリプト外部のIllustrator SWFからコンテンツにアクセスする

私が取得し、私のswfファイル

var flashMovie:Sprite = this.content as Sprite; 
for (var i:int = 0; i < flashMovie.numChildren; i++) 
{       
flashMovie.getChildAt(i).name; 
flashMovie.getChildAt(i).transform.colorTransform.color;      

} 

内のシンボルの色を変更しようとしています。しかし、私はイラストレーターを使用して、私のswfファイルを作成するとき、それは何も返しません。

どのように私はそれはswfファイルの使用イラストレーター(3 AS)AVM2をエクスポートすることは可能ですコンテンツにアクセスし、IllustratorのSWF

+0

「Illustrator SWF」Adobe Illustratorで「SWFとして書き出し」オプションを使用したことはありますか?それとも別のことを意味していますか?この質問にはFlex固有のコンテンツは含まれていないので、私はFlexタグを削除してFlashタグを追加します。 – JeffryHouser

+0

はいIllustratorでswfとして書き出しています。私はフレックス4.5プログラムを作成すると、グラフィックスを作成するためにフラッシュです。(プログラムは、ユーザーが外部の読み込まれたswfファイルのグラフィックで色を変更することができます。)私は、私はイラストレーターを使用して、私はシンボルを検出するのに苦労します。これも可能ですか? – user747344

答えて

1

の色を変更することができますすることができますか?私が間違っていると私を訂正してください。でもIllustrator CS5はまだswfのAVM1(AS 1 & 2)をエクスポートしています。 AS3プロジェクト内でロードされたすべてのAS2ムービーは、flash.display.AVM1Movieクラスで表されます。このクラスには、表示チェーンの子はありません。レンダリングされたAVM1クリップを示すDisplayObjectです。このことから、Illustratorで定義されたシンボルにはアクセスできません。

call()メソッドを使用してAVM1Movie内のメソッドを呼び出すことができるかどうかはよく分かりません。 IllustratorでAS2メソッドを追加することは可能ですか?おそらく...

すべての要素を1つのswfとしてエクスポートするか、svgなどの他のエクスポート形式を選択できます。

package 
{ 
    import flash.display.AVM1Movie; 
    import flash.display.DisplayObject; 
    import flash.display.Loader; 
    import flash.display.MovieClip; 
    import flash.display.Sprite; 
    import flash.display.StageAlign; 
    import flash.display.StageScaleMode; 
    import flash.events.Event; 
    import flash.net.URLRequest; 
    import flash.utils.describeType; 

    public class AIImportDemo extends Sprite 
    { 
     private var __loader:Loader = new Loader(); 
     public function AIImportDemo() 
     { 
      super(); 
      stage.align = StageAlign.TOP_LEFT; 
      stage.scaleMode = StageScaleMode.NO_SCALE 
      __loader.contentLoaderInfo.addEventListener(Event.COMPLETE,__onComplete); 
      __loader.load(new URLRequest('assets/myAIExport.swf')); 
     } 
     private function __onComplete($e:Event):void{ 
      addChild(__loader); 
      trace(describeType(__loader.content)); 
      trace("is MovieClip "+ (__loader.content is MovieClip)); // false 
      trace("is Sprite "+ (__loader.content is Sprite)); // false 
      trace("is Shape "+ (__loader.content is Shape)); // false 
      trace("is AVM1Movie "+ (__loader.content is AVM1Movie)); // true 
      trace("is Display Object "+(__loader.content is DisplayObject)); // true 

     } 
    } 
} 
0

ベストセラーは、IllustratorからFlash CSにオブジェクトをコピー/ペーストすることです。そうすれば、ベクターオブジェクトはAS3シェイプオブジェクトとして移植できます。また、別のシンボルなどに分割することもできます。

関連する問題