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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.09.2009, 13:57
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 1  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Question Таскание мувика.

Код AS3:
			addEventListener(MouseEvent.MOUSE_DOWN,StartDrag);
			addEventListener(MouseEvent.MOUSE_UP,StopDrag);
 
			function StartDrag(event:Event):void {
				startDrag();
			}
			function StopDrag(event:Event):void {
				stopDrag();
			}
Таким вот образом таскаю мувик. Но когда я ухожу за приделы мувика, с нажатой кнопкой, и возвращаюсь к нему, то мувик продолжает таскаться.

Код AS3:
			addEventListener(MouseEvent.MOUSE_LEAVE,StopDrag);
- не помогает, как выйти из положения?

Старый 21.09.2009, 15:08
WRC_S вне форума Посмотреть профиль Отправить личное сообщение для WRC_S Посетить домашнюю страницу WRC_S Найти все сообщения от WRC_S
  № 2  
Ответить с цитированием
WRC_S
[+6 23.11.09]
 
Аватар для WRC_S

Регистрация: Jun 2009
Адрес: Россия
Сообщений: 318
Отправить сообщение для WRC_S с помощью ICQ
Код AS3:
// Выход мышки за пределы флешки, делать тоже самое, что и при отпускании кнопки
			stage.addEventListener(Event.MOUSE_LEAVE, StopDrag);
stage-попробу подставить как я написал!

Старый 21.09.2009, 16:05
zombig вне форума Посмотреть профиль Отправить личное сообщение для zombig Найти все сообщения от zombig
  № 3  
Ответить с цитированием
zombig

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
Если деать
Код AS3:
stage.addEventListener(Event.MOUSE_LEAVE, StopDrag);
работать будет, но если флешку с "перетаскиваемым окном" подгрузить во внешний мувик - работать не будет.

Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
Может есть идеи как это обойти?

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

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
Цитата:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
пробую включить телепатические способности:
это скорее всего из-за того, что stage еще не доступен. выполняйте код после события ADDED_TO_STAGE
__________________
я могу стать всем, если только захочу

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

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
оу... действительно. Спасибо за помощь тупым массам

Старый 21.09.2009, 21:27
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 6  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Цитата:
Сообщение от Felicast Посмотреть сообщение
пробую включить телепатические способности:
это скорее всего из-за того, что stage еще не доступен. выполняйте код после события ADDED_TO_STAGE
Я не понял как использовать ADDED_TO_STAGE, попробовал так:
Код AS3:
			addEventListener(MouseEvent.MOUSE_DOWN,StartDrag);
			addEventListener(MouseEvent.MOUSE_UP,StopDrag);
			stage.addEventListener(Event.MOUSE_LEAVE, fLeave);
			function StartDrag(event:Event):void {
				startDrag();
			}
			function StopDrag(event:Event):void {
				stopDrag();
			}
			function fLeave(event:Event):void {
				addEventListener(Event.ADDED_TO_STAGE, fStopDrag);
			}
Выдает ту же ошибку.

Старый 21.09.2009, 21:32
zombig вне форума Посмотреть профиль Отправить личное сообщение для zombig Найти все сообщения от zombig
  № 7  
Ответить с цитированием
zombig

Регистрация: Sep 2009
Адрес: СПб-Челябинск-Сатка
Сообщений: 12
Код AS3:
addEventListener(Event.ADDED_TO_STAGE,addedHandler);
 
function addedHendler():void {
	stage.addEventListener(Event.MOUSE_LEAVE,stopDragHandler);
}

Старый 21.09.2009, 22:26
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 8  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
полностью:
Код AS3:
if (stage)
{
	init();
}
else
{
	addEventListener(Event.ADDED_TO_STAGE, init);
}
 
function init(event:Event = null):void 
{
	removeEventListener(Event.ADDED_TO_STAGE, init);
	addEventListener(MouseEvent.MOUSE_DOWN,startDrag);
	addEventListener(MouseEvent.MOUSE_UP,stopDrag);
	stage.addEventListener(Event.MOUSE_LEAVE, stopDrag);
}
function startDrag(event:Event):void 
{
	startDrag();
}
function stopDrag(event:Event):void 
{
	stopDrag();
}
__________________
я могу стать всем, если только захочу

Старый 21.09.2009, 22:51
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 9  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
Спасибо, но работает не так как хотелось, а именно. Когда зажимаешь кнопку мышки и ведешь курсор, то мувик движется за курсором. Но когда мышка выходить за приделы (с зажатой кнопкой), то мувик перестает двигаться но он все еще таскаемый, и отпустив кнопку за приделами, мувик перемещается в положение, как если бы я таскал и отпустил внутри стэйджа.
А хотелось бы, чтобы таскание прерывалось, в момент ухода мышки за пределы стэйджа.

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

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

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


 


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


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