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

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

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

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
По умолчанию Cмена точки Drag'a

Есть приложение в котором сворачиваются к нижнему краю. При последующем их перетаскивании:
1) окно разворачивается в первоначальный размер при этом нижний край окна не выходит за пределы приложения (кнопка мыши не отжата, идет перетаскивание)
2) точка grag'a при этом находится в верхней части окна, а курсор в нижней
Создается не очень юзабельная ситуация, что приходится курсор гнать до точки drag'a прежде чем окно начнет дальше двигаться.
Как сделать так, что бы при развороте окна точка drag'a переместилась под курсор?

Заранее спасибо за помощь...

код запуска перетаскивания:
Код AS3:
window.startDrag(false, new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Код конечно красивый)) Только человек, голова которого касается первого этажа - под землей. Когда window окажется в координатах (stage.stageWidth, stage.stageHeight), он будет полностью за экраном.

А по сабжу ничего не понял. Что такое "точка драга"?
__________________
Reality.getBounds(this);

Старый 16.04.2010, 13:21
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 3  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Возможно вам не стОит использовать startDrag и stopDrag.

Вместо этого можно слушать событие перемещения указателя мыши и двигать окно в зависимости от ситуации и координат указателя крысы.

Т.е. когда юзер опускает кнопку мыши на области окна (или на области перетаскивания, или когда нужно его перетаскивать) начинаем слушать событие MOUSE_MOVE и перемещаем окно относительно движения мыши. После отпускания мыши отписываемся от события MOUSE_MOVE.

Такой подход даст вам возможность управлять "точкой drag'a" и так же обеспечит более плавное перетаскивание окна.
__________________
trace("Остановите Землю, я сойду!!!");

Старый 16.04.2010, 14:09
Aloran вне форума Посмотреть профиль Отправить личное сообщение для Aloran Найти все сообщения от Aloran
  № 4  
Ответить с цитированием
Aloran

Регистрация: May 2009
Сообщений: 223
Записей в блоге: 1
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Код конечно красивый)) Только человек, голова которого касается первого этажа - под землей. Когда window окажется в координатах (stage.stageWidth, stage.stageHeight), он будет полностью за экраном.
Пример естественно условный дан. Не стоит придраться.

to Mur4ik
Тоже пошел по этому принципу.

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

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

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


 


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


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