| Chelovek |
13.08.2013 15:19 |
Перетаскивание вне сцены.
Здравствуйте.Вот что у меня получилось
Код AS3:
var a:Boolean = false;
var mousey:int;
var mousex:int;
map.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
map.addEventListener(MouseEvent.MOUSE_UP, mouseReleasedHandler);
stage.addEventListener(Event.ENTER_FRAME, _enterFrame);
function mouseDownHandler(e:MouseEvent):void
{
a = true;
}
function mouseReleasedHandler(e:MouseEvent):void
{
a = false;
}
function _enterFrame(e:Event):void
{
if (a == true)
{
map.x += stage.mouseX - mousex;
map.y += stage.mouseY - mousey;
}
mousey = stage.mouseY;
mousex = stage.mouseX;
}
Когда курсор выходит за пределы сцены, то перетаскивание продолжается. но если отпустить мышь за пределами сцены, а потом обратно ввести курсор на сцену, то перетаскивание продолжится. Я знаю в чём ошибка, событие MOUSE_UP не срабатывает за пределами сцены, но не знаю как это исправить.
|