2009-06-02 5 views
0

私はFlex 3 SDKと無料のFlashDevelop IDEを使用しています。ActionScript 3コードまたはMXMLを使用してMovieClipを作成することはできますか?

私はFlexBuilderやFlash CS4 Professionalを持っていないので、私はMovieClipsをグラフィカルに作成することはできません。

代わりに、コードまたはMXMLを使用して簡単なMovieClipを作成します。たとえば、3つのフレームでMovieClipを作成し、各フレームにビットマップを読み込んで簡単なアニメーションを作成するとします。

これは可能ですか?私は良いgoogleを持っていました。唯一の例は、既存のMovieClipを読み込んでステージに追加することです。

答えて

1

あなたはこの単純なコードでムービークリップを作成することができます。ただ、原因と空のムービークリップである

var mc:MovieClip = new MovieClip(); 
stage.addChild(mc); 

は、あなたがグラフィックプロパティ(see here)とその上に描画することができます。

私が知る限り、actionscriptでフレームを作成する方法はありません。文書化されていない方法があるかもしれませんが。ドキュメントには表示されない機能がいくつかあります(addFrameScriptメソッドなど)。

私は最良の方法(あなたが絶対にFlash CS4を使用することができない場合)、一連のLoaderオブジェクトを持ち、それらを隠して順番に表示することです。 それらを配列に入れて、enterFrameイベントを待ち受けてください。 Loaderオブジェクトのビットマップにロードできます。

リンクを使用してドキュメントの例をチェックすると、私はあなたがそれを理解できるはずだと思います。

0

は限り私が見てきたように、1はFlashの実装のMovieClipのと同等の表示される場合がありますように動作FlexでのMovieClipを作成するための簡単な方法はありません。しかし、私はあなたが本当にMovieClipを始めるとは思っていません。 Flexは非フレックスオブジェクトではうまくいきません。はい、UIComponentに何かを追加することは可能ですが、回避策をとるよりもFlexフレームワークの方がはるかに優れています。

イメージをロードするのにmx:Imageタグを使用します。これは一般に、イメージをFlexにロードする最もクリーンな方法です。コンパイル時にオブジェクトをSWFに埋め込むことができます。つまり、外部ファイルをポイントする必要はありません。私は、あなたのダウンロード時間とおそらくあなたのパフォーマンスを殺すでしょう、埋め込まれたグラフィックスが多すぎることに注意します。

アニメーションの移動やサイズ変更だけに興味がある場合は、ネイティブのFlex TweensであるMoveおよびResizeオブジェクトを使用します。

0

あなたの最良のオプションは、UIComponentクラスを拡張子成分としてムービークリップを追加し、プロキシ経由でMXMLから設定を適用するかもしれません。例:

public function set movieFrames(value:Array):void { 
    for each(var b:Bitmap in value) { 
     //add bitmap to _movieclip object. 
    } 
} 
+0

しかし、どのフレームをビットマップにするかはどのように制御しますか? – codeulike

+0

"フレーム"が意味するものによって異なります。フレックス内では、タイマーやENTER_FRAMEイベントを使用して必要なものを達成することができます。また、どのイメージを表示するかを示すカウンタを使用することもできます。 http://www.nivas.hr/blog/2006/11/27/as3-kitchen-timer-and-enter_frame/#more-101 各フレームまたはタイマーティック: imgCounter =(++ imgCounter) %bitmapList.length displayedBitmap =ビットマップリスト[imgCounter]; そのようなもの... – Glenn

0

動画クリップではないスプライトが必要です。フレームの代わりに時間を使う。 TimerクラスとgetTimer()関数があります。それらを使用してください。

  1. Spriteを拡張/実装するクラスを作成します。
  2. Loaderクラスを追加します。
  3. Googleはそれが完了した方法を正確に示しています。 (flashtuts.comやsthのように)。
関連する問題