Home > Adobe AIR Archive
Adobe AIR Archive
Adobe Developer Box 開発日記(3)
- 2009年2月 7日 00:56
- Adobe AIR
Adobe Developer Connection に記事を投稿しました。
VBox を利用して簡単にリストを作ろうぞというお話し。
そして VBox の縦スクロールを 無理矢理 Tween させましたというお話し。
http://www.adobe.com/jp/devnet/air/articles/adb_howto_develop_ria_part3.html
連載3) リストの作成
- Comments: 0
- TrackBacks: 0
Max基調講演でADB
- 2009年1月31日 12:55
- Adobe AIR
MAX 初日の基調講演で Adobe Developer Box が紹介されたよ〜
プレス
http://enterprise.watch.impress.co.jp/cda/software/2009/01/30/14813.html
AIR ギャラリーにも登録されてる
まだベータ版。
- 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
AIRの起動中に
- 2009年1月20日 00:00
- Adobe AIR
AIRの起動中にもう一回exeをキックすると
起動中のAIRアプリの invokeイベントが呼ばれるそうです。
ちゃんとコマンドライン引数も渡ってくるそうです。
という豆知識は、某 北大阪AIR 案件の忘年会でのお話し。
- Comments: 0
- 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
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
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
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
Download Adobe AIR for JavaScript Developers Pocketguide
- 2008年4月18日 10:19
- Adobe AIR
Download Adobe AIR 1.0 for JavaScript Developers Book
Ajaxian has just posted the PDF download for the Adobe AIR for JavaScript Developers Pocketguide Book (published by O'Reilly).
pdfがダウンロードできるよ
ダウンロードしたよ
- Comments: 0
- TrackBacks: 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
Home > Adobe AIR Archive