ラーメンサラダの会に来ていただいた皆様ありがとうございました。
楽しいひとときを過ごさせてもらいました。
また次回のお越しをお待ちしております。
また、先日kmxsさんのブログに於いて
フルFlashサイトをProgressionで作り始める時にまず読むべき16の記事
というすばらしいエントリがあがりました。
このブログも紹介いただいております。ありがたいことです。
さて、今回はProgressionに同梱されているnium先生パッケージ内クラスの紹介です。
Util系のクラスはflabakaさんが最近ものすごい勢いでブログにエントリされておりますが、私はフルフラッシュサイトの際に便利なDocumentEventの紹介をしたいと思います。
実のところ、幅、高さが100%になるflashのサイトを作った事がなかったのですが、この前初めてそういった案件を手がけた際、Progressionを用いる事でHTMLに触ることなく簡単に出来てしまいました。正直、驚愕しました。
(でもあとで中身を見て覚えようと思います。)
その際、DocumentEventという素敵なイベントクラスを利用させてもらいました。
通常フルフラッシュのサイトでステージサイズ変更のイベントを取る際は以下の様に記述すると思います。
(ちなみにProgressionの場合なのでstageはprogression.stageで参照しています)
progression.stage.addEventListener(Event.RESIZE, resizeHandler);
private function resizeHandler(e:Event):void
{
//ステージサイズ変更時の処理
}
これが普通だと思いますが、リサイズの処理によってはリサイズ開始時、リサイズ終了時といったイベントが欲しくなる時があると思います。
これをDocumentEventは解決してくれます。
import jp.nium.events.DocumentEvent;
とインポートして使います。
用意されているイベントはINIT,RESIZE_START,RESIZE_PROGRESS,RESIZE_COMPLETEの4つです。
progression.stage.addEventListener(DocumentEvent.INIT, stageInitHandler); progression.stage.addEventListener(DocumentEvent.RESIZE_START, resizeStartHandler); progression.stage.addEventListener(DocumentEvent.RESIZE_PROGRESS, resizeProgressHandler); progression.stage.addEventListener(DocumentEvent.RESIZE_COMPLETE, resizeCompleteHandler);
以下の様にイベントハンドラ内でstageの参照も間単に取得出来ます。これが一番ポイントが高い!!
private function resizeCompleteHandler(e:DocumentEvent):void
{
trace(e.stage);
trace(e.stageHeight);
trace(e.stageWidth);
}
恐ろしく便利です。
