1

resizeHandlers の完了の瞬間を検出できる方法はありますか? このようなもの:

this.addEventListener(Event.RESIZE_COMPLETE, resizeHandler);

誰かがこれを可能にする方法を持っていることを願っているので、enterframehandlerを削除できます:)

4

3 に答える 3

3

基本的に必要なことは、 last の後の時間をカウントするタイマーを設定することですEvent.RESIZE。十分な時間が経過すると (50 ミリ秒程度)、ユーザーがステージの継続的なサイズ変更を停止したと見なすことができます。このコードは、必要なものをシミュレートできます。

private var timer:Timer;
private var resizeInterval:Number = 50; //amount of time you believe is enough to say that continuous resizing is ended after last discrete Event.RESIZE

private function init():void
{
  timer = new Timer(resizeInterval);
  timer.addEventListener(TimerEvent.TIMER, timerHandler);
  stage.addEventListener(Event.RESIZE, resizeHandler);
}

private function resizeHandler(e:Event):void
{
  if (timer.running) {
    timer.reset();
  }
  timer.start();
}
private function timerHandler(e:Event):void
{
  timer.stop();
  resizeCompletehandler();
}
于 2012-06-13T12:57:23.063 に答える
1

Event.RESIZEブラウザ/OSに応じてディスパッチされます。

状況によっては、ユーザーがブラウザのウィンドウサイズを変更するたびに発生する場合もあれば、間隔を置いて送信される場合もあれば、ユーザーがマウスボタンを離したときに送信される場合もあります。

サイズ変更が完了したことを知る方法はありません...

于 2012-06-13T12:41:44.300 に答える