ActionScript3だけで作るUIコンポーネント

前回のエントリに対して、Technorati経由でAS3のスライダー実装のコードを別の切り口から書いてくれてる方を発見。(ありがとうございます!)

[ActionScript3]スライダーバーでのっかり

AS3に関しては我流度が相当高いので他の人が書いたコードは相当参考になります。しかも

細かいんですが、MOUSE_MOVEとMOUSE_UPがそのオブジェクト上じゃないとダメっつーのが嫌でStageオブジェクトに逐一 addEventListener。そもそもMOUSE_DOWN出来てる時点で表示リストに追加されているという算段。実はこれ、 FlashPlayerの描画領域を超えて、さらにはブラウザのウィンドウ領域を超えてマウスイベントが拾えるすぐれものtips。StageオブジェクトのMOUSE_MOVEとMOUSE_UPはStageからのドラッグだとイベントを送出するらしいです。

こんなの全然知らなかった!!FlashPlayerの外のイベントまで拾えちゃうのかぁ。。なんかいろいろ新しくできそうなことを模索しちゃいますね。こんな情報まで教えてもらえたので晒した甲斐があったなぁ。

基本コンポーネント作るのめんどくさい

上記のエントリ内でも言及されてますが、AS3でMXMLコンポーネント使えない(ですよね?)のがそもそも開発者を面倒がらせることになっているわけで。「UI含めて大部分の開発をAS3だけで行うんだけども、ボタンやスライダ、テキストエリアみたいな基本的なUIコンポーネントはMXMLのを使い回したい」なんて需要は相当あるんじゃないのかなぁと思っています。

MXMLが微妙にイケてないのが、まさにここの点であって、MXML文書内ではAS3のコードが書けるのに、AS3のコード内ではMXML要素を動的生成することができない(はず、少なくとも自分の調べによると)点。WebページにおけるHTMLとJavaScriptの関係がswfにおけるMXMLとActionScriptであるなら、MXML要素の動的生成くらいサポートしてもよさそうなのに、、と思うのですが、この考えは間違っているのでしょうかね?

あと、CS3から追加されたfl.*パッケージについてもmxmlcがコンパイルできないのも微妙な点。コンパイルが通るようにライブラリをswcにまとめてくれてる人もいるけど、コンパイル通っても実際には表示されるべきUIコンポーネントで使われている画像が一切表示されないから、この話の流れ上では使えない、と言い切ってもよさそう。要するにUI系コンポーネント使えたけりゃCS3買えって話?

情報がまとまってほしい

こんな風に自作コンポーネント作ってる人は結構いると思うんだけども、情報がまとまっててほしい。codereposみたいに共有の場所にみんなでぽんぽん上げていくような。今度スクロールバーとか必要になったら「これはありそうだよなーさすがに」とか呟きながらググりまくる自分の姿が想像できるわけですよ。SBMに共通タグつけるのでもいいけど、何かしろの共有ルールが欲しいな、と。

関連広告

Trackbacks:0

TrackBack URL for this entry
http://blog.katsuma.tv/mt-tb.cgi/137
Listed below are links to weblogs that reference
ActionScript3だけで作るUIコンポーネント from blog.katsuma.tv

Home > ActionScript > ActionScript3だけで作るUIコンポーネント

Search
Feeds

Return to page top