「CASA Lib」とは、紹介した「AS3Commons: java.(lang|util).*みたいのActionScript 3用のオープンソースユーティリティ共通関数集合」が似てる柔軟なActionScript共通基盤として、開発の効率をアップできるオープンソースのライブラリです。ActionScript 2とActionScript 3両方を対応しています。BSD Licenseで配布されているため商用利用も可能です。
ライブラリのソースを読むと、めんどくさいイベントの脱が簡単にできるようになっている感じがあると思います。
公式サイトやSVNなどを参考してみましたが、ソースとドキュメントが配布されているのですが、テストコードやサンプルソースコードがないようです。
以下はインタネット中見つけたCASAのdisplayパッケージについてメモです。
- とりあえず、まずはdisplayパッケージから読んでみました。
- displayパッケージには
- * CasaBitmap.as
- * CasaMovieClip.as
- * CasaSprite.as
- * CasaTextField.as
- * ReversibleMovieClip.as
- という5つのクラスがあり、ReversibleMovieClip.as以外は
- それぞれflashのデフォルトのdisplayパッケージのクラスを
- 継承して作られています。
- たとえば、CasaMovieClipはMovieClipクラスを継承。
- (※TextFieldは、textパッケージね)
- ReversibleMovieClipだけはCasaMovieClipを継承したクラスで
- 逆再生に特化したクラスになってます。
- というかほぼそれだけの為のクラス。
- それ以外のクラスは、
- IRemovableEventDispatcher, IDestroyable
- の二つのインターフェースを実装したものになっており
- イベントの着脱に特化した作りになってます。
- というか脱にかなり力を入れている。
- 実装内容は、
- addEventListener,removeEventListener
- をoverrideしてそれぞれtype, listener, useCaptureなどを
- ListenerManagerクラスが参照として持つようになってます。
- また、
- removeEventsForType(type:String):void
- removeEventsForListener(listener:Function):void
- removeEventListeners():void
- というpublicメソッドも用意されていて
- イベントのremoveをタイプだけでまたはlistenerだけで指定したり
- または、一括で全部消す
- みたいなことができるようになってます。
- ListenerManagerクラスに参照として持たしているのが
- この辺で生きてきてます。
- あと、IDestroyableインターフェースとして
- destory():void
- が実装されていて
- すべてのイベントリスナーを消すのと同時に
- 親が存在した場合は自動的に自分を親からremoveChildするようになってます。
- てな感じがdisplayパッケージの内容でした。
関連リンク
http://casalib.org/ 公式サイト
http://as2.casalib.org/docs/ クラスドキュメント
メインコンテンツEND ■
Posted on Saturday, 2nd May 2009 by admin
Tags: ActionScript, CASA, オープンソース, ライブラリ
Posted in ActionScript, Flash Project | Comments (0) | 1,798 views
