いま、久々に、がっつりAS3に触れています。
というか、Flexに触れています。1年前のFlex開発ではイベント駆動で躓くような状態でしたが、イベントも慣れ、初見ではかなり度肝を抜かれたArrayCollectionも自然に使えるようになりました。
おもにArrayCollectionは、DataGridを入れるときにRemoteObjectから受け取ったdataProviderに入れるときなんですが、データのつなぎ込みをやる前に、ダミーを作るのも習慣になってきていい感じです。1度経験があるとすんなりいくもんですね。
あと、やっぱりはまったのは、ViewStack。そして、creationPolicyを知る(いまさら)
初期表示のページ以外、たとえば、3ページあるとして1ページ目が表示されてるけど2,3ページはまだ生成されてないから、addEventListenerとかしようものならnullエラーが出るという挙動。要は初期ページ以外は生成されてないって言う・・・。
それで、「最初っから全ページ生成済みになってねーのか!!」とよく調べてみたら、あった。あった。
creationPolicyってやつがありました。
Adobe - デベロッパーセンター : Flex アプリケーションのパフォーマンス :
クライアントアプリケーションのパフォーマンスチューンアップテクニック集
http://www.adobe.com/jp/devnet/flex/articles/client_perf_06.html
ぶっちゃけ、creationPolicy="all" にすれば全部に生成されるし、最初から各ページのオブジェクトにイベントくっつけられました。うはー。らくー。
でも、結局描画の負荷とかが微妙だよ!!!とか、上記リンクでも言っているので実装やめました。制作フェーズとしてはプレビューなのに、変に重くなることはやめようと。最終チューニングぽいもんですね。これ。
というわけで、おとなしくcreationPolicy="auto"のままで、ViewStack内の各ページにcreationCompleteイベントで引っ掛けて、今回は実現。
callLater
も忘れてた。おおお。
危うく、EnterframeとかTimerの遅延を実装しそうに・・・。
しかも、なぜかメソッドなのに、イベントと勘違いしててヘルプから探せないというボケっぷり。いけません。
DataGrid内でチェックボックス使うとかは、相変わらず・・・
DataGridのなかのcolumnsにチェックボックスを実装するかってのが、今回も、案の定、仕様として上がりました。
そして僕はパッと思い出せず、1年前と同じサンプルを探しちゃったり。ループループループ・・・。
というわけで、まあ相変わらず、成長していない部分もありますね。
まあ一番はエラーなしにビルドが通るようになったこと
なんかビルド時にエラーを出すのは格段に減りました。
これが一番変わったとこかも。
Flex Builderで「自動的にビルド」を即はずすので、いちいちリアルタイムにエラー報告してくれないわけなんです。
でも、結構ちゃんとビルドが通ります。
イベント周りで引数1つ付ける忘れるとか、型指定がおかしいとかは、少なくなったなー。
まあ、とはいえ慣れただけで、安定したものが組めるわけじゃないので、精進します。
- Newer: 5位に「トップページからオールFlash」
- Older: 予算 相場 期間 制作