Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

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

Старый 13.08.2013, 15:34
SvetozarPNZ вне форума Посмотреть профиль Отправить личное сообщение для SvetozarPNZ Найти все сообщения от SvetozarPNZ
  № 2  
Ответить с цитированием
SvetozarPNZ
 
Аватар для SvetozarPNZ

Регистрация: Dec 2009
Сообщений: 125
Записей в блоге: 1
Добавить условие для перетаскивание: координаты мышки находятся в пределах сцены.

Старый 13.08.2013, 16:20
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 3  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Вешать MouseEvent.MOUSE_UP на stage, вы словите событие даже если мышь за пределами флешки.
__________________
Oomph

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

Регистрация: May 2013
Сообщений: 34
SvetozarPNZ, AlexLucas, спасибо за помощь!

Старый 13.08.2013, 16:38
maincode вне форума Посмотреть профиль Отправить личное сообщение для maincode Посетить домашнюю страницу maincode Найти все сообщения от maincode
  № 5  
Ответить с цитированием
maincode

Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
А еще может пригодится событие Event.MOUSE_LEAVE, срабатывающее в момент выхода мышки за пределы флешки.
__________________
FlashPress.ru | Blog

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.