スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FlashCS4で作ったSWCとかSWFを、Flex(FlashBuilder4.5)でいじくる方法

馬鹿して時間を潰したのでメモです。

対象:Flexばっか使ってて、FlashCS4(FlashPro等)を使えなくなってしまった人たち
ぼくがわすれていたこと:Flash CS4は4次元(時間軸がある)って事とSWCの存在。
概要:
 CS3にてSWCを作り、Flexにて読ませます。SWCにはシンボルがあるものとして、そいつ操ります。

単語が長いので短くする定義
FB4.5->FlashBuilder4.5=FB=Flex
FlashCS4->CS4
ActionScript->AS



FlashCS3で作ったSWF(SWC)を、Flex(FlashBuilder4.5)でいじくる方法

SWFあるよーって人
Step1.SWCを出力する。(シンボルのASの書き出しする。)

これから書くよーって人
Step0.環境作ります。FBでプロジェクト作ります。適当に。
Step1.Flash CS4にてAS3のプロジェクト作ります。名前は適当に。
Step1-e.g.名前->TEST01
Step2.新規シンボル」します。ActionScriptの書き出しにチェックし、適切かつ適当な名前をつけてあげます。
Step2-e.g.識別子->空 /クラス->myasset.MyMc /基本クラス->flash.display.MovieClip
Step3.シンボルを適当かつ的確に編集します。今回の動作確認のために分かりやすくしといたほうがいい。
Step3-e.g.フレーム2を選択後、キーフレームに変換し、フレーム1・2にASをいれる→「stop();」。また、動きが分かりやすくフレーム1・2で別のナニか(図形とか)でも置いておく。また、フレームに対して名前をUUEとかUDEってつける。
Step4.書き出します。SWCを書き出します。
Step4-e.g.「パブリッシュ設定」->「Flash」タブ->真ん中あたりの「SWC書き出し」項目にチェック!(CS4)
Step5.Flex(FB4.5)のフォルダに書き出したSWCをコピペ
Step6.SWCをインポートし、SWCの中にあるシンボルのクラスのオブジェクトを作ります。
Step6-e.g.
 import flash.display.MovieClip;
 import mx.core.UIComponent;
 import myasset.MyMc;
 public var mc1_01:MyMc = new MyMc;
Step7.mxのUIComponentを作りましょう。(sparkの方は適当に)
Step7-e.g. mx:UIComponent id="wrap1" x="10" y="100" width="48" height="48"
Step8.creationCompleteで呼ばれる関数内にStep7で作ったオブジェクトにaddChildするプログラム書く
Step8-e.g. wrap1.addChild(mc1_01);
Step9.あとはFlexで宣言したオブジェクトをに対して自由に使えるので自由にさわる。
Step9-e.g.
 mc1_01.gotoAndStop("UUE");
 とか
 mc1_01.gotoAndStop("UDE");
 とか。自分の動かしかたにあった使い方をどうぞ。

 自分の場合はMCシンボルの中に、名前つきキーフレームがいくつかあります。Waitとかwalkとか。
それぞれその中に更にシンボルがあります。腕部品とか顔部品とか。その部品の組み合わせや動きをキーフレーム(stop()の後のフレームから次のstop()までの間)ごとに変えてます。んでもって、xxxx.gotoAndPlay("wait")とかでキャラの動きを動きを変更するという利用方法。
 これで細かい動きに弱いFBでも細かい調節された動きの出来るCS4でがんばれるわけです。

参考サイトなど:
http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=3802


余談

自分がひっかかったところは、時間軸がないという点とFBからどのオブジェクトをさわっているのかという点、SWCの存在を忘れていた点の3つです。まず、SWFをどうにかさわれないか・・・って考えたところ、SWFLoaderを使い始めたのですが、これだと上手く制御できない。なので、SWCにして制御するって方法にたどり着きました。そこで、一番時間がかかったのですが、常にCS3ではPlay状態にあるということです。CS3で、ライブラリからシンボルをシーン1のところに配置したとして、シンボル自信時間軸によって進むし、シーン1自体のフレームも進むし・・・。addChildしてもグルグルループ再生されるし・・・。そこで、stop()をいれたところ、動かない。マウスをONしても動かない・・・。どうやらここでシンボル自体をFBからさわってるということに気がつき、解決したというわけです。
スポンサーサイト

コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。