Flash Player на Firefox Mac не дает правильное положение мыши, когда находится за пределами кадра - PullRequest
1 голос
/ 25 мая 2011

У меня были проблемы с положением мыши в Firefox в моих флеш играх, поэтому я разработал эту маленькую программу для проверки.

package
{    
    import flash.display.Sprite;
    import flash.events.Event;

    [SWF(width="750", height="520", frameRate="40", backgroundColor="#000000")]

    public class HelloWorld extends Sprite
    {
        private var _mouseX:Number;
        private var _mouseY:Number;

        public function HelloWorld()
        {
            addEventListener(Event.ENTER_FRAME, onEnterFrame);
        }

        public function onEnterFrame(event:Event):void
        {
            if ((mouseX != _mouseX) || (mouseY != _mouseY))
            {
                _mouseX = mouseX;
                _mouseY = mouseY;
                trace(_mouseX, _mouseY);
            }
        }
    }
}

Я поместил swf на веб-страницу, в центреtop.

Когда мышь выходит за пределы флеш-рамки, она больше не обновляется.Таким образом, каждый кадр работает с последней позицией.

В Chrome и Safari последняя позиция - это позиция, где мышь выходила из кадра.На самом деле, это, вероятно, интерполяция, основанная на предыдущей скорости мыши, поскольку у меня могут быть отрицательные координаты, если я выхожу через левый или верхний край.

В Firefox положение мыши по умолчанию равно (5, 5),По какой-то странной причине.

Есть ли способ обойти это?Вероятно, это зависит от реализации браузера (поскольку они используют один и тот же плагин).

Как он ведет себя в браузерах Windows?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...