Home > Adobe Flex Archive
Adobe Flex Archive
FxUGのMax発表資料
- 2009年2月21日 17:35
- Adobe Flex | Events
arkwさんとTaigaさんのMAX発表資料が
Adobe MAX Japan 2009 D-4 資料
この間の東京勉強会の資料は、MAX発表の続編らしい。
Flexの基礎?
かなりよくまとまってていい資料だと思います。
すばらしい
- Comments: 0
- TrackBacks: 0
Adobe Developer Box 開発日記(1)
- 2009年1月28日 21:00
- ActionScript3 | Adobe AIR | Adobe Flex
Adobe Developer Connection に投稿しました。
http://www.adobe.com/jp/devnet/air/articles/adb_howto_develop_ria.html
連載1) RIA開発どうやって進める?
「ADB」という現在開発中プロジェクトの進行について連載形式で書いています。
詳しくは直接記事を読んで下さい・・・
しかし、記事を書くってなかなか難しいですね。痛感しました。
- Comments: 0
- TrackBacks: 0
URLエンコード
- 2009年1月27日 11:00
- ActionScript3 | Adobe Flex
トップレベル関数 escape()
http://livedocs.adobe.com/
だとうまくいかない?
例えば
Wikipedia 「URLエンコード」によると、"ウィキペディア"という文字の UTF8でのURLエンコード結果は
// %E3%82%A6%E3%82%A3%E3%82%AD%
が正解だと。
んじゃあ escape() の結果はなに??
という訳で、文字コード表(http://ash.jp/code/unitbl21.
できました。
- Comments: 3
- TrackBacks: 0
工具の通販 MonotaRO
- 2009年1月23日 00:27
- Adobe Flex
株式会社モノタロウ さん の ユーザマイページ Flex 化 のお手伝いをさせて頂きました。
http://www.monotaro.com/topic/boughtItem/
1月15日から会員向けに公開されています。
また、会員でなくても体験できるようにデモページを用意されています。(素晴らしい!)
デモページ
ぜひ一度体験してみて下さい。
- Comments: 6
- TrackBacks: 0
Flash Player 9.0.16 のバグ
- 2009年1月19日 14:08
- ActionScript3 | Adobe AIR | Adobe Flex
FP 9.0.16
このバージョンでFlashのサイトを閲覧すると、最初の Event.ADDED_TO_STAGE が無視されるそう。
なのでもし、ADDED_TO_STAGE をトリガーにして処理を書いているプログラムは、表示されません。
こわいね
- Comments: 0
- TrackBacks: 0
GEMVC (Good Enough MVC)
- 2008年12月10日 10:34
- Adobe Flex
Googleアラートで拾いました
ActionScriptフレームワークのGEMVC、月着陸船アルタイル(Altair)に採用される
Flex用のフレームワーク
「宇宙開発で採用された」という響きがうらやましいね(笑
「ActionScriptフレームワーク」って書いてるけど、Flex用ですね。
docs に解説 pdf と実装の仕方 ppt がついてました。親切ですね。
クラス数も少なくて、すぐ使えそうですね。
やっとブログ再開でけたー
- Comments: 0
- TrackBacks: 0
TextField の setTextFormat() と defaultTextFormat
- 2008年9月27日 21:09
- Adobe Flex
Flexの mx系 のクラスを使わない人には随分前から既知の話だとは思うけどぉ、
自分の発見を忘れないためにメモっとく。
setTextFormat()関数でTextFormatを設定した後にtextプロパティに文字列を設定する場合は、TextFormat のスタイルは適用されない。
で、textプロパティを変更する度に(つまり文字列を入れ替える度に)、setTextFormat()するのは大変なので
TextField の defaultTextFormat をあらかじめ設定しておくのがベター。
defaultTextFormat で設定した TextFormat が自動的に採用される。
でも、defaultTextFormat を設定する前に textプロパティに設定した文字列は、適用されない。。。
という訳で、結果として
defaultTextFormat で TextFormat を設定したら、
それ以前に設定した文字列は適用されないが、それ以降はすべてに適用される。
setTextFormat() で TextFormat を設定したら、
それ以前に設定した文字列に対しては適用されるが、それ以降は適用されない。
となる。
最初にtextプロパティに文字列をセットするタイミングよりも前に defaultTextFormat を設定しておくのが最も楽ってこと。
mx系じゃない ActionScript はソースを追えないので現象を確認するしか手立てが無いのが厳しいところ・・・
- Comments: 0
- TrackBacks: 0
borderStyleに対応したText, Label (3) Fleverlight勉強会
- 2008年7月28日 20:19
- Adobe AIR | Adobe Flex | Events
Fleverlight勉強会お疲れ様でした。
他のコミュニティさんとやるといろんな刺激があって楽しいですね。やっぱ。
ぼくの発表内容です。(Winだとフォント変わります。。)
ソースは右クリ。(Tweener使ったけど含んでない。ご自身でTweenerを足して動かしてくだされ)
以下発表内容
- カスタムコンポーネントとSkin。
- 1)MXML(XMLファイル)で画面を作ります。
- 2)画面の要素(TextInputやComboBoxなど)はコンポーネントと呼びます。
- 3)コンポーネントはFlex SDKにあらかじめ用意されています。
- 4)コンポーネントはスタイルを設定して見た目を変更できます。
- 5)コンポーネントはSkinを変更する事もできます。
- 6)コンポーネントは自作することもできます。
- 7)ふつうはFlex SDK のコンポーネントを継承して作ります。
- 慣れると簡単に作れるのでぜひ一度作ってみてください。 以上。
他の方の発表資料は SilverlightSquareさんところに集まるっぽい。 しっかしライブコーディングがヤヴァかった。お二人とも。
- Comments: 0
- TrackBacks: 0
OSFlash本
- 2008年7月20日 16:04
- Adobe AIR | Adobe Flex
Book Release: The Essential Guide to Open Source Flash Development
なにかとお世話になっているOpen Source Flash。からの本。
- Comments: 0
- TrackBacks: 0
borderStyleに対応したText, Label (2)
- 2008年7月20日 13:38
- Adobe AIR | Adobe Flex
Skin を指定できるようになった Label に対して borderSkin を作って指定してみる。
Using TextFields and Bitmaps in a programmatic skin ( n-kawaiさんのblog )
こちらで文字付き Skin の作り方が紹介されてたので
同じようなのを違ったアプローチで作る。
ソースは右クリ。
Skin が使える Label に Skin を作って適用してみました。
もっとFlexっぽくいくなら、HaloBorder ベースで作ったほうがいいかもですね。
- Comments: 0
- TrackBacks: 0
borderStyleに対応したText, Label (1)
- 2008年6月19日 23:59
- Adobe AIR | Adobe Flex
mx.controls.Label や
mx.controls.Text に
backgroundColor や borderStyle , borderSkin を。
Canvas と TextInput のソースから移植して実現。
ソースはこちら
source
Flex SDK の defaults.css で global に borderStyle : "inset" が設定されてるので本来の素のデフォルトは枠線がつきます。
なのでそれが嫌な場合は、css で borderStyle : "none" を書いてやって下さい。
さて、スタイルでいろいろ装飾できるので便利やけど
ただでさえ重いFlexなだけに、単純に文字だけでいい場合はこういうの使わない方がいいと思う。
- Comments: 0
- TrackBacks: 0
何がどう入力されたのかがわかるTextInput
- 2008年6月17日 23:59
- Adobe AIR | Adobe Flex
TextInput のカスタムコンポーネントを作りました。
概要
・テキストがどう編集されたのかがわかる。
・でもInsertキーを無効にしておく必要がある。
source
基本的には、TextEvent.TEXT_INPUTのイベントハンドラにてDispatch。
BackSpaceキーとDeleteキーの場合は、KeyboardEvent.KEY_DOWN。
という KEY_DOWN と TEXT_INPUT の両イベントの組み合わせ。
まあ、ニッチですわな。
- Comments: 0
- TrackBacks: 0
入力項目つきTextInput
- 2008年6月16日 23:59
- Adobe AIR | Adobe Flex
TextInput のカスタムコンポーネントを作りました。
概要
・入力項目名(かまたは入力書式など)を内包してるので、レイアウトスペースが節約できるかもしれない。
・何を入力したらよいのかすぐわかるかもしれない。
・focusIn で消す。
・focusOut で未入力なら再表示。
source
exampleTextColor というスタイルで色指定できるようにしたんやけど、
updateDisplayList で exampleTextField の色を設定してるのが自分で気になってる。
ほんとは createChildren で一回だけ色指定したいんですがー。
DataGrid のレンダラーとしては試してないからどうなるかわからない。
- Comments: 0
- TrackBacks: 0
FlexでInsertキーによる上書きモードをスルーする。
- 2008年6月12日 21:00
- Adobe AIR | Adobe Flex
Insertキーを無効にする。
ニッチな要件だと我ながら思う。
ニッチな要件だと我ながら思う。
- Comments: 0
- TrackBacks: 0
stage,systemManager,root,application (2)
- 2008年6月11日 22:00
- Adobe AIR | Adobe Flex
stage, systemManager, root, applicationの実験の続き。
実験2
上からベースアプリ、ModuleLoaderでロードしたモジュール、SWFLoaderでロードした別アプリ。
それぞれのtoolTIpで各プロパティの値がわかる。
ベースアプリの情報
■ stage :
[object Stage]
■ systemManager :
[object _BlogSample2_mx_managers_SystemManager]
■ root :
[object _BlogSample2_mx_managers_SystemManager]
■ Application.application :
BlogSample2_0
Moduleの情報
■ stage :
[object Stage]
■ systemManager :
[object _BlogSample2_mx_managers_SystemManager]
■ root :
[object _BlogSample2_mx_managers_SystemManager]
■ Application.application :
BlogSample2_0
ロードした別アプリの情報
■ stage :
[object Stage]
■ systemManager :
[object _BlogSample2_OtherApplication_mx_managers_SystemManager]
■ root :
[object _BlogSample2_OtherApplication_mx_managers_SystemManager]
■ Application.application :
BlogSample2_0
なんか予想を裏切られたなー
stage
みんな同じ
systemManager
ベースアプリとモジュールは同じ。別アプリは別アプリのsystemManager
root
ベースアプリとモジュールは同じ。別アプリは別アプリのroot(systemManager)
Application.application
みんな同じ(BlogSample2_0 : ベースアプリのApplication.mxmlのこと)
うーん。。。
実験ソースはこちら
ベースアプリのプロジェクト(Module含む)
ロードされる別アプリ
ところで全然関係ないけどModuleLoaderってswfファイルからの相対パスじゃなくてURLの相対パス入れないと駄目なのね
実験2
上からベースアプリ、ModuleLoaderでロードしたモジュール、SWFLoaderでロードした別アプリ。
それぞれのtoolTIpで各プロパティの値がわかる。
ベースアプリの情報
■ stage :
[object Stage]
■ systemManager :
[object _BlogSample2_mx_managers_SystemManager]
■ root :
[object _BlogSample2_mx_managers_SystemManager]
■ Application.application :
BlogSample2_0
Moduleの情報
■ stage :
[object Stage]
■ systemManager :
[object _BlogSample2_mx_managers_SystemManager]
■ root :
[object _BlogSample2_mx_managers_SystemManager]
■ Application.application :
BlogSample2_0
ロードした別アプリの情報
■ stage :
[object Stage]
■ systemManager :
[object _BlogSample2_OtherApplication_mx_managers_SystemManager]
■ root :
[object _BlogSample2_OtherApplication_mx_managers_SystemManager]
■ Application.application :
BlogSample2_0
なんか予想を裏切られたなー
stage
みんな同じ
systemManager
ベースアプリとモジュールは同じ。別アプリは別アプリのsystemManager
root
ベースアプリとモジュールは同じ。別アプリは別アプリのroot(systemManager)
Application.application
みんな同じ(BlogSample2_0 : ベースアプリのApplication.mxmlのこと)
うーん。。。
実験ソースはこちら
ベースアプリのプロジェクト(Module含む)
ロードされる別アプリ
ところで全然関係ないけどModuleLoaderってswfファイルからの相対パスじゃなくてURLの相対パス入れないと駄目なのね
- Comments: 0
- TrackBacks: 0
stage, systemManager, root, application (1)
- 2008年6月10日 23:00
- Adobe AIR | Adobe Flex
stage, systemManager, root, application
表示のルートっぽいプロパティがいっぱいでどれを使えばいいのかを悩むことが多い。
stage
言わずと知れた最上位。
他のアプリケーションからロードされた場合、ロードした側のアプリでもロードされた側のサブアプリでも stage は同一を指す。
stage プロパティは、自分自身が表示リスト上に addChild() されるまでは nullになっている。
前回のApplication(またはWindowedApplication)のcreationComplete()でstageがnullになってるのは、Application自身が表示リスト上にまだAddChild()されていないから。
systemManager
systemManager プロパティは、他からロードされた場合、ロードされた側のサブアプリでは、そのサブアプリ内での SystemManager インスタンスを指す。
ちなみにApplication (AIRではWindowedApplication)は、SystemManager によってインスタンス化される。
root
SWFファイル内での最上位を指す。
FlexアプリケーションのSWFでのrootはSystemManagerになる。
Bitmapオブジェクトのみを持つSWFファイルなら、rootはbitmapオブジェクトを指す。
但し、stage の root は stage 自身を指す。
Moduleの場合、SWFファイルは別になるけどrootは親SWFと同一。
application
Application.application
メインのMXMLインスタンス(ApplicationクラスまたはWindowedApplicationクラス)を指す。
ロードされた場合も、そのサブアプリ内のメインのMXMLインスタンスを指す。
Moduleの場合、SWFファイルは別になるけどrootは親SWFと同一。
実験1
やっぱややこしいってば。
- Comments: 0
- TrackBacks: 0
blogにFlexサンプルを貼るテスト
- 2008年6月 9日 21:00
- Adobe Flex
せっかくドメイン取った訳だし。
しかし、
未だに前のブログ(はてなダイアリー)の方が断然アクセスが多いっちゅうのは悲しい。
Cairngormについて書いてた時みたく、体系立てて書かんと誰も読まんのかも。
いや、
読む人を意識して書くと続かんだろうし。
メモ書きスタイルでいいよね
- Comments: 0
- TrackBacks: 0
creationComplete()だとstageがnullで困る
- 2008年6月 8日 23:28
- Adobe AIR | Adobe Flex
アプリの初期化時に stage プロパティにアクセスしたいときは多々ある。
でもApplication(メインのMXML)の creationComplete() ではまだ null で困る。
で
preinitialize()〜creationComplete() の時点でstageを利用できる方法を思いついたので書いてみる。
結論
systemManager.stage としてアクセスすれば良い
発見!
でもApplication(メインのMXML)の creationComplete() ではまだ null で困る。
で
preinitialize()〜creationComplete() の時点でstageを利用できる方法を思いついたので書いてみる。
結論
systemManager.stage としてアクセスすれば良い
発見!
- Comments: 0
- TrackBacks: 0
stopPropagation()とstopImmediatePropagation()
- 2008年6月 7日 16:51
- Adobe AIR | Adobe Flex
メソッド名読めます?
イベントの伝播を止める
public function preventDefault():void
イベントに関連付けられたデフォルトの動作をキャンセルする。
但し、Event オブジェクトの cancelable プロパティが true のものだけ有効。
public function isDefaultPrevented():Boolean
既にデフォルトの動作がキャンセルされているかどうか。
戻り値が true なら既に preventDefault() が呼ばれている。
public function stopPropagation():void
そのメソッドを呼び出したイベントリスナーが登録されているオブジェクトでイベントリスナーの呼び出しを終了させる。
※ 現在イベントを処理中のオブジェクトにまだ実行待ちのイベントリスナーが登録されていたら、それは実行する。
※ 有効な対象は自分で追加したリスナーに限定される。
2008/6/20 追記:"自分で追加した"は、ActionScript3のデフォルト以外でという意味。mx.〜系のFlex Framework にて追加されている分は含まれる。みたい。
public function stopImmediatePropagation():void
そのメソッドを呼び出したイベントリスナーが登録されているオブジェクトでイベントリスナーの呼び出しを終了させる。
※ 自身が登録されているオブジェクトを含め、以降のイベントリスナー呼び出しを行わない。
※ 有効な対象は自分で追加したリスナーに限定される。
2008/6/20 追記:"自分で追加した"は、ActionScript3のデフォルト以外でという意味。mx.〜系のFlex Framework にて追加されている分は含まれる。みたい。
上記すべて akihiro kamijoさんのブログの December 09, 2005 の記事から抜粋
さて、問題なのは自分の英語力の無さだったりする。
上記メソッドは、
DataGridなどの複雑にコンポーネントが入り組んだコンポーネントにさらにたくさん手を加える時などによく使っている。
でも
メソッドが読めない。
ペアプロしてても
「ストップなんとかって書いたらええんちゃう?」
で通じ合う(笑)
なので、メソッド名から振る舞いのイメージが全く沸かない。
prevent [ぷりヴぇんと] 妨げる,防ぐ.
preventDefault は デフォルトの(イベントリスナ)を妨げる。
propagate [ぷらぷぁげぃと] 伝播する.
stopPropagate は 伝播を止める。
immediate [いみでぃえっと]直接の, すぐ近くの; 即時の; 当面の; 一番近い.
stopImmediatePropagate は 直接の伝播を止める。
ということなんですね。
あーすっきりした。
イベントの伝播を止める
public function preventDefault():void
イベントに関連付けられたデフォルトの動作をキャンセルする。
但し、Event オブジェクトの cancelable プロパティが true のものだけ有効。
public function isDefaultPrevented():Boolean
既にデフォルトの動作がキャンセルされているかどうか。
戻り値が true なら既に preventDefault() が呼ばれている。
public function stopPropagation():void
そのメソッドを呼び出したイベントリスナーが登録されているオブジェクトでイベントリスナーの呼び出しを終了させる。
※ 現在イベントを処理中のオブジェクトにまだ実行待ちのイベントリスナーが登録されていたら、それは実行する。
※ 有効な対象は自分で追加したリスナーに限定される。
2008/6/20 追記:"自分で追加した"は、ActionScript3のデフォルト以外でという意味。mx.〜系のFlex Framework にて追加されている分は含まれる。みたい。
public function stopImmediatePropagation():void
そのメソッドを呼び出したイベントリスナーが登録されているオブジェクトでイベントリスナーの呼び出しを終了させる。
※ 自身が登録されているオブジェクトを含め、以降のイベントリスナー呼び出しを行わない。
※ 有効な対象は自分で追加したリスナーに限定される。
2008/6/20 追記:"自分で追加した"は、ActionScript3のデフォルト以外でという意味。mx.〜系のFlex Framework にて追加されている分は含まれる。みたい。
上記すべて akihiro kamijoさんのブログの December 09, 2005 の記事から抜粋
さて、問題なのは自分の英語力の無さだったりする。
上記メソッドは、
DataGridなどの複雑にコンポーネントが入り組んだコンポーネントにさらにたくさん手を加える時などによく使っている。
でも
メソッドが読めない。
ペアプロしてても
「ストップなんとかって書いたらええんちゃう?」
で通じ合う(笑)
なので、メソッド名から振る舞いのイメージが全く沸かない。
prevent [ぷりヴぇんと] 妨げる,防ぐ.
preventDefault は デフォルトの(イベントリスナ)を妨げる。
propagate [ぷらぷぁげぃと] 伝播する.
stopPropagate は 伝播を止める。
immediate [いみでぃえっと]直接の, すぐ近くの; 即時の; 当面の; 一番近い.
stopImmediatePropagate は 直接の伝播を止める。
ということなんですね。
あーすっきりした。
- Comments: 0
- TrackBacks: 0
EventDispatcherのtoString()
- 2008年5月 3日 20:04
- Adobe Flex
Objectクラスにprototypeプロパティがある。
で、
toString()とvalueOf()は
prototypeプロパティ、つまりプロトタイプオブジェクトのメソッド
なので普通のクラス継承ではないと。
だから
サブクラスでtoString()とvalueOf()を再定義する場合は「override」は書かない。
でも、flash.events.Eventクラスなど、toString()を実装しているクラスのサブクラスの場合で、toString()を再定義する場合は当然「override」する。
んでこっから本題
flash.events.EventDispatcherクラスはリファレンスを見る限りtoString()の実装は行ってない。&EventDispatcherの親クラスはObjectなので親の誰かがtoString()を実装することもない。
でも
EventDispatcherのサブクラスでtoString()をoverrideできる。。。
なんで?
EventDispatcherって、ほんとはtoString()を実装してるんやろ?って疑ってしまう。
まあ
いずれにしてもそんなに重要な話ではない(笑)
気になっただけ。
GWに。
- Comments: 0
- TrackBacks: 0
asDoc いえいえ aasDoc
- 2008年4月26日 14:07
- Adobe AIR | Adobe Flex
AIRのasDoc作成ツールは asdoc じゃなくて aasdoc だから気をつけろっ
一行で終わるのも何なので
以下知ってると思うけどasDocに関する補足情報まとめ。
1) asDoc作成ツール
flex sdk の bin の中にある。
AIRなら
aasdoc.bat ( for Windows )
aasdoc ( for Mac )
Flexなら
asdoc.exe ( for Windows )
asdoc ( for Mac )
2) Eclipse上からant実行するほうが楽かも
コマンドラインから実行してもいいけど
FlexBuilder使ってる人はEclipse上からAnt実行できたほうが断然楽やと思う。
build.xmlは
http://blog.bittube.com/ さんが公開してる asdoc作成build.xml をベースに作る。
(情報元 ASDocのAnt用build.xml satoshiさん)
出来上がったHTMLもsvnで管理してる場合は
asDocフォルダを丸ごと消さずに
defaultexcludesを書くか、「**/.svn」「**/.svn/**」を除外して
古いdocをdeleteするなどの工夫が必要。
3) その他情報
BeInteractive! [AsDoc]
BeInteractive!さんのところに
「ADOBE FLEX 3 アプリケーションの構築と展開」の第13章のところに載っていないことが載っている。
「ADOBE FLEX 3 アプリケーションの構築と展開」の第13章のところに載っていないことが載っている。
でも @includeExample は今は使えないようになっていると思われる。
以上 enjoy aasdoc !
- Comments: 50
- TrackBacks: 0
SWFLoaderでhoge-debug.swfをロードすると
- 2008年4月21日 03:51
- Adobe Flex
ロードされる側のブレークポイントも止まるから便利だよ
同じワークスペースの場合に限ると思うけど。
ちなみにSWFLoaderよりもModuleLoaderのほうがオプティマイズしてくれる分、良いと思うよ
- Comments: 0
- TrackBacks: 0
Error: Could not find resource bundle formatters
- 2008年4月21日 03:39
- Adobe Flex
こんなエラーが出たら
Error: Could not find resource bundle formatters
at mx.resources::ResourceBundle$/getResourceBundle()
at mx.formatters::DateBase$cinit()
at global$init()
at mx.formatters::DateFormatter/format()
at packagename::ClassName/onLabelFunctionFormatDate()
at mx.controls.dataGridClasses::DataGridColumn/itemToLabel()
at mx.controls.dataGridClasses::DataGridBase/makeListData()
at mx.controls.dataGridClasses::DataGridBase/makeRowsAndColumns()
at mx.controls::DataGrid/makeRowsAndColumns()
at mx.controls.listClasses::ListBase/updateDisplayList()
at mx.controls::DataGrid/updateDisplayList()
at mx.core::UIComponent/validateDisplayList()
at mx.managers::LayoutManager/validateDisplayList()
at mx.managers::LayoutManager/doPhasedInstantiation()
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()
at mx.core::UIComponent/callLaterDispatcher()
initializeとかで意図的にDateFormatterのインスタンスを生成してやると直るよ
Loader使ったときとか。ね。
- Comments (Close): 0
- TrackBack (Close): 0
AS3のSingletonの書き方をちょっと変えた。リベンジ。
- 2008年4月 5日 00:00
- Adobe AIR | Adobe Flex
こないだのSingletonがうまく動かなくて自分でへこんでたからリベンジだこのやろう。
というわけで、さかっさんとの合作で出来上がった新しいSingleton。
コペルニクス的逆転の発想。
パッケージ外クラスでインスタンスを取得してやるのさっ
これでget instance の度にnewするべきかどうかチェックしなくていい。
Wicked南海謹製なり。
- Comments: 3
- TrackBacks: 0
ModuleLoader,SWFLoader。そしてやはりSingleton。
- 2008年4月 1日 01:25
- Adobe AIR | Adobe Flex
ModuleLoaderやSWFLoaderを利用してアプリケーションを分割するのは規模が大きいときはマスト。
でも各モジュール間や各SWF間でのデータ連携は大変!!ではない。
絵で説明する。
呼び出し元(ロードする側)でSingletonのインスタンスを先に一回取得しておいてやること
そうすればもうあんた、
アプリケーションだろうがモジュールだろうがドンと来いだっつうの
という一年前のスレッドに対する答え。。
- Comments: 2
- TrackBacks: 0
AS3のSingletonの書き方をちょっと変えた
- 2008年4月 1日 00:48
- Adobe AIR | Adobe Flex
何かを管理するクラスを作るときはSingletonを多用する。とにかくよく使う。
で、ずっとこう書いてきた
つかいかた
2008/04/02:新しいSingletonを書いてたけどちゃんと動作しないから削除。した。ごめん。
2008/04/04:リベンジした。AS3のSingletonの書き方をちょっと変えた。リベンジ
ちなみに、一応書いておくと、
パッケージの外にクラスを書く(上記HogeSingletonInternal,MogeSingletonInternal)と、
このファイル内からしかアクセスできないので、上記クラス以外からシングルトンをnewしようとしてもErrorがスローされるYO!
- Comments: 2
- TrackBacks: 0
Adobe Flex in The Underground
- 2008年3月31日 08:35
- Adobe Flex
アングラそしてマディなライブイベントにいってきた。
平野先生はMax/MSP,Flash,Flexで音と映像を奏でるアーティスト。
昨年NYでぶっ飛んだプレイを披露してるやゔぁい人。
画質荒いのはごめん。
ビデオカメラをぐりぐり撮影するだけで音と映像がリアルタイムに生成,出力されてる様子。
全部自作アプリで、既製のDJ/VJソフトなど一切無し(笑)
本番直前までAdobe AIRでも作ってたっぽいけど、どうなったのかは不明。
ワールド炸裂
リスペクトっす
- Comments: 0
- TrackBacks: 0
Adobe AIR 1.0 を透明かつ好きな形にって
- 2008年3月23日 13:03
- Adobe Flex
Apollo 〜 β版んときは、
ウィンドウを透明にかつOSのクロームを無くして完全自由な外観にするには
gihyoのAIRのページ
ってやってたのに
AIR1.0だとうまくいかんと悩む事1ヶ月ちょい。
やっとわかった(汗
1.Hoge-app.xmlにこれ書くっしょ
2.WindowedApplicationのタグ内でこれをつける
これであんたもうなんにも見えないよ。うん。
絶対見えない。
あとはpng画像でもaddChildして好きな形にしておくれ。
こんなに簡単やったとは・・・
- Comments: 3
- TrackBacks: 0
RubyIZUMI (MP4/H.264 RTMP Server) 0.01 released
- 2008年3月22日 22:29
- Adobe Flex
- Comments: 0
- TrackBacks: 0
Flex3 Compiler APIを試してみたのさっ
- 2008年3月22日 19:20
- Adobe Flex
Flex3 SDK(or Flex Builder3)に flex-compiler-oem.jar っつうのがついてて、
これを使うとJavaからFlexアプリケーションやswcライブラリを作る(コンパイル)することができるらしい。
じゃあMingみたいな使い方ができるやん
ということで試しに
動的に画像(サムネイルとか)を埋め込んだswcライブラリを動的に作るようなのを作ってみたのさっ。
1.flex-compiler-oem.jar をビルドパス(クラスパス)に通す。
※ flex-compiler-oem.jar はBuilderの flex_builder_root/sdks/3.0.0/lib にある。
2.javaクラスを作る
動的にtest.Thumbクラスを作って、そのクラスの中で埋め込み画像を。
んで、コンパイルするとswcができあがる。
3.検証用のFlexアプリを作る
※作ったswcをライブラリパスに含める。
おーおもろい!!
ソースはこちらから
javaのほう(※jarファイルは入ってないす)
検証用Flexのほう
ちなみに
Adobe Flex 3コンパイラAPIユーザガイド(pdf)に詳しく日本語で説明してるのでそれを読めば簡単に作れるYO。
忙しいときほどこういうの試したくなるんねー
- Comments: 3
- TrackBacks: 1
Custom Metadata の続き
- 2008年3月18日 09:06
- Adobe Flex
たとえばこんなメタをつける
[MetaName(keyName="test")]
コンパイラオプションに
-keep-as3-metadeta MetaName
ってつけてコンパイル。
んで
var xml:XML = describeType(new Hoge() );
var value:String = xml.metadata.(@name=="MetaName").arg.(@key=="keyName").@value;
こんな感じでメタの値をゲットできる。そもそもFlex2.0.1でもできる。
Custom Metadata in AS3は
swcライブラリとしてコンパイラオプション付きで作成すれば、以降そのswcを利用する場合、コンパイラオプションなしでカスタムメタが使えるという話。
んで、yui-frameworksを利用する際に、コンパイラオプションに
-load-config+=metadeta-config.xml
(metadeta-config.xml:メタ定義ファイル。上記コンパイラオプションと同じ)
を毎回つける必要があったけど、今ならもういらないよということ。
- Comments: 0
- TrackBacks: 0
Custom Metadata in AS3
- 2008年3月18日 03:39
- Adobe Flex
Using Your Own Custom Metadata in AS3
Flex2だとカスタムMetadataタグを使う場合、
プロジェクト毎にコンパイルオプション(-keep-as3-metadata)が必要だったのが、
Flex3だとswc作るときにコンパイルオプションをつければ、
(swcを)使う方はコンパイルオプションいらないよって話。
カスタムメタの使い方は↓が参考になる。
Annotating ActionScript Classes with Custom Metadata + Simple ORM Framework for AIR
- Comments (Close): 0
- TrackBack (Close): 0
どのリクエストに対するレスポンス?
- 2008年3月12日 23:57
- Adobe Flex
RemoteObjectでサーバーにリクエストすると
resultEventやfaultEventに非同期で応答が帰ってくる。
(ほぼ同時に)複数の同一メソッドにリクエストすると
どのリクエストに対するレスポンス(resultEvent or faultEvent)なのかわからなくなってしまう。
そんなときは
リクエスト送信時のInvokeEventをとって(Listenして)
InvokeEventの
をどこかに保持しておいて、
ResultEvent(またはFaultEvent)の
とを照合するとどのリクエストに対するresultEvent(またはfaultEvent)なのかがわかる。
よな?
resultEventやfaultEventに非同期で応答が
(ほぼ同時に)複数の同一メソッドにリクエストすると
どのリクエストに対するレスポンス(resultEvent or faultEvent)なのかわからなくなってしまう。
そんなときは
リクエスト送信時のInvokeEventをとって
InvokeEventの
token.message.messageId
をどこかに保持しておいて、
ResultEvent(またはFaultEvent)の
token.message.messageId
とを照合するとどのリクエストに対するresultEvent
よな?
- Comments: 9
- TrackBack (Close): 0
ASTRA: ActionScript Toolkit for Rich Applications
- 2008年3月12日 22:21
- Adobe Flex
Yahoo! Flash Developer Center
Flash Components beta
Flex Components beta
Badge Kit
Web APIs Library
ちょこっと便利なコンポーネントとか、大量に。
BSDライセンスで。
ところでこないだ申請したFlex版Yahoo!メールまだ?
りゅうたろうはもうとっくにFlex版Yahoo!メールなのに...
- Comments (Close): 0
- TrackBack (Close): 0
AIRでコマンドライン引数をとるときの注意メモ
- 2008年3月12日 04:32
- Adobe Flex
Flexのコンポーネント生成時に発生する主なイベントは以下の順番。
PREINITIALIZE :コンポーネントの初期化シーケンスの始め
INITIALIZE :コンポーネントの構築と初期化プロパティの設定が完了したとき
CREATION_COMPLETE :コンポーネントの構築,プロパティ処理,測定,レイアウト,および描画が完了したとき
APPLICATION_COMPLETE :アプリケーションが初期化されLayoutManager によって処理され,表示リストに追加された後
UPDATE_COMPLETE :オブジェクトの commitProperties(),measure(),updateDisplayList()が必要に応じて呼び出されたとき
InvokeEvent.INVOKE : アプリケーションが起動されたとき
で、
AIRで起動時のコマンドライン引数が取得できるのはInvokeイベント。
順番的に、生成時の一連のイベントが発生した後にInvokeイベントが発生するのでそこんとこ注意したい。っつうメモ。
- Comments: 1
- TrackBacks: 0
LCDSでjava.net.BindExceptionが出たら。
- 2008年3月11日 22:06
- Adobe Flex
LCDSを使っててTomcat起動時にこんなんが出たら
[Flex] RTMP-Server on port: 2038 failed to start up.
java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at sun.nio.ch.ServerSocketAdaptor.bind(Unknown Source)
at flex.messaging.endpoints.rtmp.BaseNIORTMPServer.run(BaseNIORTMPServer.java:155)
at java.lang.Thread.run(Unknown Source)
services-config.xmlの以下の部分のRTMPのポート番号を2038から2039とかに変えてあげる
<channel-definition id="my-rtmp" class="mx.messaging.channels.RTMPChannel">
<endpoint url="rtmp://{server.name}:2038" lass="flex.messaging.endpoints.RTMPEndpoint"/>
複数のLCDSアプリを作成するとポートがかぶるんすね。
FDSの時と一緒やね
FDSの設定
ちなみに
BlazeDSにはRTMP実装が含まれてないだろうから関係ない。と思う。
- Comments: 2
- TrackBack (Close): 0
javaの...とas3の...
- 2008年3月10日 09:31
- Adobe Flex
Tiger(java1.5)から使えるようになった可変長引数「...」と
ActionScript3の「...」は同じように見えて若干違った。あぶねえ。
public void hoge( String ...args)
javaの場合は、引数の型指定があるので上記のようなメソッドにStringの配列でも渡せる。
ふつうにStringの引数をいくつか渡してもいいし、Stringの配列で渡してもいい。
どっちの方法でもhogeメソッド内で受け取った引数の値はStringの配列。
public function hoge( ...args):void
ActionScript3の場合は「...」の場合引数の型指定がないので
たとえばStringの配列を渡すと第一引数として扱われる。
だからhoge関数内で引数の値は配列の0番目にStringの配列が入ってる。
ややこしや
ちなみに
as3は「arguments」でも引数がとれる。らしい。
argumentsと...の併用は不可能。らしい。
- Comments: 0
- TrackBacks: 0
FlexBuilder3β3からFlexBuilder3へ
- 2008年3月 6日 09:58
- Adobe Flex
FlexBuilder3正式版が出たのでベータ版をUnInstallして正式版へ入れなおし。
ベータ版で作ったAIRプロジェクトを正式版で開くと、Runしない・・・
んで
[ProjectName]-app.xml 2行目の<application>タグのネームスペースのURIに差異発見。
ベータ版
<application xmlns="http://ns.adobe.com/air/application/1.0.M6">
正式版
<application xmlns="http://ns.adobe.com/air/application/1.0">
動いた。
- Comments: 2
- TrackBacks: 0
NPSWF32.dll
- 2008年3月 5日 21:38
- Adobe Flex
ちょっと古いネタかもですが、
FlexBuilder(プラグイン)のインストール直後のRunってこうなりません??
C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dllをコピーしてFireFox\pluginsにペーで解決ですが、面倒くさいですよね。
- Comments (Close): 0
- TrackBacks: 0
Home > Adobe Flex Archive