Показать сообщение отдельно
Старый 13.08.2013, 15:19
Chelovek вне форума Посмотреть профиль Отправить личное сообщение для Chelovek Найти все сообщения от Chelovek
  № 1  
Ответить с цитированием
Chelovek

Регистрация: May 2013
Сообщений: 34
По умолчанию Перетаскивание вне сцены.

Здравствуйте.Вот что у меня получилось
Код 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 не срабатывает за пределами сцены, но не знаю как это исправить.