Я хотел сделать в игре так, чтобы по событию DEACTIVATE игра вставала на паузу, но часть из попробовавших запустить игру доложили, что у них иногда игра сама встает на паузу или встает на паузу после быстрых двойных щелчков. Я сделал маленький тест и с ним всё повторилось. У меня самого ни на одном компьютере проблема не воспроизводится.
Тест такой

Код:
package
{
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class Main extends Sprite
{
public var t:TextField = new TextField;
public function Main():void
{
if (stage)
Init();
else
addEventListener(Event.ADDED_TO_STAGE, Init);
}
public function Init(e:Event = null):void
{
addChild(t);
t.text = "active";
t.autoSize = TextFieldAutoSize.LEFT;
stage.addEventListener(Event.DEACTIVATE, Deactivate, false, 0, true);
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDown, false, 0, true);
}
public function Deactivate(e:Event):void
{
t.text = "Inactive. Give focus and press A to activate";
}
public function KeyDown(e:KeyboardEvent):void
{
if(e.keyCode == 65)
t.text = "active";
}
}
}
Вопрос: как сделать эту функциональность правильно? Я думаю, может ставить на паузу только еще и при условии, что мышка вне флешки...
Тест в откомпилированном виде
здесь. Если кому интересно, игра в которой проявляется проблема
здесь, несколько устаревшая версия, но для данного вопроса это несущественно.