Home > Flex Archive
Flex Archive
1フレーム目へ値を渡したい。
- 2011-03-07 (月)
- ActionScript3.0 | Flex

問題
Frame メタデータタグを使用し「ファクトリークラス」を設定することで
メインクラスを生成するためのファクトリークラスを作る事ができる。
このファクトリークラスは2フレームからなる MovieClip クラスで
1フレーム目には「ファクトリークラス」と「それを構成するために必要なクラス」が書き出され、
2フレーム目には「それら以外のクラス」が書き出される。
このファクトリークラスに触れることなくファクトリークラスに値を送るにはどうしたらよいか。
制約1. 1フレーム目で値を受け取れる事。
制約2. ファクトリークラスを変更して値を渡すことは不可。
値を受け取るための仕組みを作ることはよいとするが、
値を直接入力することは許可しない。
制約3. ファクトリークラスを継承することは不可
継承して値を渡す方法は許可しない。
制約4. FlashVars での値の受け取りは不可
制約5. 最終的には SWC にする。(追記2参照)
これが今抱えている課題。
うーん色々考えて見た。
- Comments (Close): 0
- Trackbacks (Close): 0
Spark Project に Embedder をコミット
- 2009-08-17 (月)
- ActionScript3.0 | Flash | Flex

- Comments (Close): 0
- Trackbacks (Close): 0
FlashDevelop 3.0.0 RC5 リリースされたよ。
- 2009-06-02 (火)
- ActionScript3.0 | FlashDevelop | Flex

ペース上がってきましたねー。
RC5 は以下から
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=4856
今回も主にバグフィックスですよ。
RC5 は RC2~4までと完全に互換性がありますが、いくつかの Syntax ファイルを追加して移動させました。
だそうです。
過去のバージョン情報やインストール方法、最新情報などは以下から。
http://blog.bk-zen.com/2009/07/12/190/
詳細は以下から。
- Comments (Close): 0
- Trackbacks (Close): 2
Frame メタデータタグでプリローダを作る時の注意
- 2009-04-11 (土)
- ActionScript3.0 | Flash | Flex

ActionScript3.0 の Frame メタデータタグを使うと プリローダを作ったりするときに便利だったりします。
その時の注意。
Error #2044: ハンドルされていない IOErrorEvent : text=Error #2036: 読み込みが未完了です。
みたいなエラーが出て、困ったりしたことはないですか?
しかも IE では出ず、 FireFox で 2回連続 F5 で更新とかすると起きるエラー。
どこで起きているのかも分からず、ひたすら莫大に広がったソースのいろんなところをコメントにしてみたりして、やっと見つけた。
- Comments (Close): 1
- Trackbacks (Close): 0
S2Flex2 コンポーネント を使った Flex2 を Flex3 へ
- 2008-03-21 (金)
- ActionScript3.0 | Flash | Flex

ども。
そういえばこの間 Flex2 で作られたのを AIR 化することをやってたら、
↓のようなランタイムエラーがでた。
VerifyError: Error #1053: org.seasar.flex2.rpc.remoting.S2Flex2Service の S2Flex2Service のオーバーライドが無効です。
何だこれって思って色々見てたら Flex3 に変えたことによるエラーっぽいことがわかった。
S2Flex2 コンポーネントを S2Flex2 components 2.0.0-Beta1(http://s2flex2.sandbox.seasar.org/ja/#download)
に変えたら直った。
S2Flex2 って Flex3 に対応したら S2Flex3 とかに名前を変えるのだろうか?
それとも S2FlexTo とかって意味だとかで、Flex2 に限定したものではないから大丈夫なのか?
まぁいいや。
とりあえず名前を考えるってのはむずかしいんだなぁ・・・。
みつを
じゃなくて、 昨日休日なのに出勤してしまったJCでした。
- Comments (Close): 0
- Trackbacks (Close): 0
Flex と FlashCS3 で SWF を作るときの 18 のポイント+α
- 2008-03-19 (水)
- ActionScript3.0 | Flash | Flex

以前も書いたことですが、色々増えてきたのでまとめてみた。
Flex と Flash CS3 でハイブリッドな SWF を作る場合、
大抵は Flex で土台を作り、グラフィック部分などを Flash で作るということになるだろう。
その際に俺が実際引っかかったりした部分をまとめた。
なので Flash しか関係ないじゃんとか Flex しか関係ないじゃんと思わずに
Flash しか関係ないじゃん?って所は それを制御する側がいるということを考えて
Flex しか関係ないじゃん?って所は それに制御される側がいるということを考えて
読んで欲しい。
Flex と Flash CS3 の ハイブリッド SWF について
- 2007-12-27 (木)
- ActionScript3.0 | Flash | Flex

どうも JC です。
Flex と Flash CS3 ではコンパイラが違い、挙動も違ったりします。
その二つを掛け合わせて作る ハイブリッドな SWF についてだらだらと書いてみる。
Flex itemRendererのバグ?
- 2007-10-30 (火)
- ActionScript3.0 | Flex

お久しぶりです。
JC です。
前にも書いたとおり、ここんところ Flex 三昧です。
さて、今回 Flex でコンテンツを作ったりしてみているんだが、
何かバグっぽい挙動があった。
Flex の DataGrid などのコンポーネントには itemRenderer を指定して、
データの表示を自分でカスタマイズできる。
今回は DataGrid の中に TileList などが配置できないものかといろいろいじってみた。
DataGrid に指定する itemRenderer の中に TileList を指定して、
TileList に さらに itemRenderer を指定するということをやってみた。
すると、
最初は上手くいっているのだが、ソートをしてみたり、
ドラッグをすばやくやってみるなどすると、
Flex のイベントのハンドリングがバグを起こして、一切なにも反応しなくなる。
さらに画面のサイズを変えたりしてもそれは起こった。
スクロールバーの表示がおかしくなったりもする。
さて・・・どうしたらいいものか。
と、言うのも、
Flex で 以下のような(※図1)グリッドが作りたい。
しかし、調べてみたがそんなコンポーネントなーい。
じゃあ自分で作ろう。
はい、バグー。
※ 図1
| Ver |
Data
|
||||
|
a
|
Data1
|
Data2
|
Data3
|
Data4
|
Data5
|
|
b
|
Data6
|
Data7
|
|||
|
c
|
Data8
|
Data9
|
Data10
|
||
Data のところは左揃えで配置されて、
Data それぞれがドラッグ&ドロップ で違う列や違う行に移動できる。
誰か作ってそうなものだが・・・。
どなたか知っていたら教えてください。
- Comments (Close): 0
- Trackbacks (Close): 0
Flex で読み込んだ SWF を制御
- 2007-09-06 (木)
- ActionScript3.0 | Flex

どうも、ひさびさの JC です。
最近 Flex の勉強中。
それで、どうすれば良いのかわからなかったのでいろいろ調べてみてわかったことのメモ。
※ Flex の和書ってなかなかないね・・・。仕方なく洋書を読む。
Flex で外部 SWF ファイルを読み込むときはどうするか。
本当は Flex Component Kit for flash cs3 を使って SWC 形式の コンポーネントにして
制御しやすそうな形にするつもりでいた。
でも、いろいろ調べてみたら、
SWC 形式で Flex Component にした場合
大本の MC のタイムラインの ActionScript は動くが、
その MC にネストされている MC の ActionScript はまったく動かないことがわかった。
って事で、SWF 化 したものを Flex 側で読み込んで制御してしまおう。
という考えに落ち着いた。
まず、Flex に SWF ファイルを読み込むやり方はいくつかある。
Image を使ったりなんかいろいろあったが、
SWFLoader というのがあったのでそれを使ってみた。
<mx:SWFLoader id="myLoader" source="test.swf"
creationComplete="initTest();" />
<mx:Button label="hoge" buttonDown="btnPressTest();" />
こんな感じで外部 SWF を読み込む。
creationComplete で指定したメソッドは SWF ファイルの読み込みが終わったら呼ばれるメソッドだ。
ボタンのほうは クリックされたら btnPressTest というメソッドが呼ばれるようにしてみた。
でわ、その関数を書いてみる。
initTest() では何をするか。
特に何もしなくても良いが、今回は、読み込んだ SWF ファイルの Root を取り出してみる。
import flash.display.MovieClip;
private var rootMc: MovieClip;
public function initTest() {
this.rootMc = myLoader.content as MovieClip;
}
こうすると、 読み込まれた SWF ファイルの Root に this.rootMc でアクセスすることができる。
では、実際制御してみよう。
読み込む SWF ファイルの 構造は以下のようにすることにした。
root に hoge_mc (MovieClip) を配置。hoge_mc 内では適当なムービーが流れていることにした。
root に moja_txt (ダイナミックテキスト(TextField)) を配置。 “Test” という文字列を入力。
制御側はボタンで制御することにした。
import org.flashdevelop.utils.FlashConnect;
public function btnPressTest() {
this.rootMc.hoge_mc.stop();
FlashConnect.trace(this.rootMc.moja_txt.text);
// output: Test
this.rootMc.moja_txt.text = "hoge";
}
こんな感じで書いてみた。
FlashConnect は Flex の開発環境として、 Flash Develop 3 を使っているので Trace を出す方法が FlashConnect になっている。
くわしくはこっち。
これで、Flex 側から SWFを制御できる。
ボタンをクリックすると、hoge_mc の ムービーが止まり、
moja_txt の内容が Trace されて、それが “hoge” に書き換わる。
まぁ簡単だがこんな感じで。
これで、逆ができないかなぁ~と思っている。
Flash で作成した SWF から Flex 側を制御する。
もちろん読み込むのは Flex 側。
ビジターパターンとか勉強しなきゃかな。
- Comments (Close): 0
- Trackbacks (Close): 0
Home > Flex Archive
- Search
- Feeds
- Meta

