スポンサーサイト

上記の広告は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からさわってるということに気がつき、解決したというわけです。
スポンサーサイト

カスタムクラスからのオブジェクトの表示方法について(FB4.5)

開発環境:MXML(AS3 FlashBuilder4.5)


タイトル通りのことが出来なかったので、メモ程度に。

文章とかを画面に表示させたかったのですよ。動的に作って。
今までなら枠作っておいてそいつを動かしてあげればokなのですが、数が増えると大変だし。
なにより 頭悪い作り方なので変えようって。

addChildとaddElementとaddElementAtの使い分けが分からなかった
ところで苦しんでました。


括弧内は例
Step1.クラス作る。
 パッケージエクスプローラーから新規→ActionScriptクラスファイル
Step2.適当かつ適切にクラス名(Comment)やパッケージ名(pack)をつける。
Step3.今つくったASファイルを開き、コンストラクタを書きます。initialize的なことをやらします。
Step4.表示したいオブジェクトを作ったら、addChild(表示させたいオブジェクト名);を追加しておきます。
Step5.Mainなmxmlにもどり、さきほど呼んだオブジェクトをaddElement(またはaddElemetAt)します。
Step6.テストプレイ


例)
xxxxx.mxml 

import pack.Comment;

proteted function ap1_click(){
var a:Comment = new Comment("","","");
addElementAt(a,3);
}


xxzxx.as
package pack{
public class Comment{
public function Comment(a:String,b:String,c:String){
var come:Label = new Label(a);
addChild(come);
}
}


これで何でもどうにか出来るようになったね。




しかしmxとsparkの違いが私を惑わす・・・。

addChildがmxだけで推奨されてて、addElementがsparkで推奨されてて。だけどaddChildもいいよって
感じがあり難解である。
´*ω*)・・・


参考ページとか
http://blog.goo.ne.jp/naomayomix/e/1399ca50400d1fa529a76b2db66115cf
http://livedocs.adobe.com/flex/3_jp/langref/mx/states/AddChild.html
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html?filter_flex=4.6&filter_flashplayer=11.1&filter_air=3.1
http://livedocs.adobe.com/flex/3_jp/langref/

下二つが一番やくにたつ、公式のリファレンスガイド。

目標値達成 デバックしたり

デバックしたり、利便性の向上を少しだけした。
昨日の中途半端な感じよりすこしだけましになった。

Download:Tn.air
※Ver2.1
 ・更新ボタン付けた。
 ・アカウントの切り替えをボタン一つで!(事前に登録必要)
 ・RTとか公式RTとかの昨日はありません


所詮開発者の○○○○

前回の続き 2アカウント使えるクライアント出来ました。

とりあえず完成

2アカ使えるクライアントできました。
というか、良いところはアカウントすぱっと切り替えられるだけ。サブノートに使えばいいかなってかんじです。
てかRTも返信もないからつかえねぇ

だめなとこあったから削除
※動作にはAdobe AIRが必要

キャプチャ


やったこと、


1.ライブラリ書き換え
 前回のままだと2アカウント分のKeyなどが保存出来なかったので、2アカに対応

2.ユーザインターフェース的な
 クジラさん付けたり

3.ボタンおいて切り替えるようにしたり。



一番面倒だったのはライブラリでSharedObjectのID(?)を同じのにして事故ってたところ。
ほぞんできねえええええと半狂乱だった。

前回の続き デザインの手記

世間では地震大変らしいね。
というのは自分に直接影響があるのはガソリンとゲーセンの営業時間短縮くらいしか今はないから実感ないんだけどね。
だけど死体の腕が地面から飛び出てる画像とかみると申し訳なくなるね生きてて。


1)ウィンドウデザイン
2)実装へ


1)ウィンドウ出るようにって言ってたけどウィンドウデザインもできてねぇしそんなこといってんじゃねぇよksg
って感じなので、デザインをば。
ツイーンウィンドウデザイン


可愛い。既視感が拭えないが悪くない。正直男としてどーよ?って感じ。


冗談
配色は白を基調としたもので、黄緑・青・ピンク・黒の4色をご用意
更に更に初回限定版として、プログラムのソースもつけちゃう!
これでなんと! お値段
面倒なので以下略

某映画みたいなチャット的なのが作りたかったけど、2アカウント同時に使えるものを作る方が先決かなって。
逃げた。


ちなみに、ソフト名はツンなんだけど、半角カタカナはデザインにあわないということで、英語表記に。
Ad○beソフトみたいに英字二文字。のアイコン。



2)実装へ
御オライリーの本みて躓いた。まず、MXMLでウィンドウを作るところからやらねばならない。
カスタムコンポーネントをつかってやるんだが、御オライリーでWindowControlsというのを使ってるんだけど
それが通らない。ググっても出てこない。

これ以上はダリィ+目指してる形のウィンドウには出来ない様なので別のコードを使う。
もとい画像に対してコンポを使うので全部定義しなおさなきゃならんのですね。
つまるところ今の行動 全くの無意味



< mx:Canvas (ry
な感じでCanvasをベースに追加できるようなので、後日。
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

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