0

私はいくつかのオンラインフラッシュゲームがこれを行うことができるのを見ました:

現在のWebを他のウィンドウまたは他のWebタブに切り替えると、アプリケーションプログラムは黒いブロックを描画し、アプリケーションを終了したことを通知します。フラッシュ領域をクリックして再開します。

フォーカスインとフォーカスアウト、マウスをステージに置いたままにするなどのイベントを試しましたが、反応が期待どおりではありません。間違った方法で使用している可能性があります。解決策があれば教えてください。

var count:int = 0;

this.stage.addEventListener(Event.MOUSE_LEAVE,function(e:Event):void
{
    //only be called if your mouse cursor leave the area,but can't detect whether you're actually switch to other program.
    trace('mouseleave',count++);
});

this.stage.addEventListener(FocusEvent.FOCUS_OUT,function(e:Event):void
{
    //no reaction
    trace('focus out',count++);
});

this.stage.addEventListener(MouseEvent.ROLL_OVER,function(e:Event):void
{
    //no reaction
    trace('mouseenter',count++);
});
4

1 に答える 1

1

次の 2 つの方法があります。

  • Event.ACTIVATEイベントを使用します。ただし、swf は以前にフォーカスされている必要があります。
  • ActionScript からの JavaScript 呼び出しを使用して、ウィンドウまたはタブがフォーカスされていることを確認します。
于 2012-10-29T09:09:09.943 に答える