リサイズ開始と終了のタイミングを取る方法

February 22, 2008 04:35 PM

AS3 でブラウザリサイズを判定するには通常 stage.addEventListner( Event.RESIZE, handleResize ); で、リサイズ中のイベントは取れますが、開始と終了は取れませんよね。 そこで、昔からある方法だと思うんですが、AS2では setInterval 、AS3だと Timer を応用して実現する方法を載せておきます。 MT管理画面から手書きなので誤字とかあるかもしれませんが、こんな感じでいけますね。

public function myConstractor()
{
    stage.addEventListner( Event.RESIZE, handleResize );
    var timer:Timer = new Timer( 100, 1);
    timer.addEventListner( TimerEvent.COMPLETE, handleResizeComplete ); 
}

private function handleResize( e : Event ) : void
{
    if(!_resizeing) trace('リサイズ開始');

    trace('リサイズ中');
    
    timer.reset();
    timer.start();
    
    _resizeing = true;
}

private function handleResizeComplete( e : TimerEvent ) : void
{
    trace('リサイズ終了');
    _resizeing = false;
}

POST A COMMENT

Name:
Email address:
URL:
Remember user info?:

Comments: