ProgressionのDocumentEventをほかのキャストで利用する
CastDocumentクラスのresizeCompleteを、CastSpriteとかCastMovieClipで使いたいと思ってやってみた。
最初は
package { import jp.progression.casts.*; import jp.progression.commands.*; import jp.progression.events.*; import jp.progression.loader.*; import jp.progression.*; import jp.progression.scenes.*; import jp.nium.events.DocumentEvent; public class Hoge extends CastMovieClip { public function Thumbnails( initObject:Object = null ) { super( initObject ); } protected override function _onCastAdded():void { addEventListener( DocumentEvent.RESIZE_COMPLETE , onResizeComplete); } protected override function _onCastRemoved():void { removeEventListener( DocumentEvent.RESIZE_COMPLETE, onResizeComplete); } function onResizeComplete( eve:DocumentEvent ):void { // リサイズ完了 } } }
みたいにやってみたけどこれはダメだった。
考えてみればCastMovieClipにDocumentEventがないんだから当たり前なわけで、
addEventListener( DocumentEvent.RESIZE_COMPLETE , onResizeComplete); removeEventListener( DocumentEvent.RESIZE_COMPLETE , onResizeComplete);
の部分を
CastDocument.addEventListener( DocumentEvent.RESIZE_COMPLETE , onResizeComplete); CastDocument.removeEventListener( DocumentEvent.RESIZE_COMPLETE , onResizeComplete);
に変更したら無事動いた。
も一回CastDcumentクラスを継承して書き直しか?とか思ったけど大丈夫で一安心。Progression柔軟だなー。