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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.05.2008, 14:33
Kroli4eg вне форума Посмотреть профиль Отправить личное сообщение для Kroli4eg Найти все сообщения от Kroli4eg
  № 1  
Ответить с цитированием
Kroli4eg
[+2 24.06.08]
 
Аватар для Kroli4eg

Регистрация: Mar 2008
Адрес: Dubai
Сообщений: 34
По умолчанию OnMouseMove и огранечение в передвижении

Дотрый день. У меня есть карта которую можно двигать мышкой (в рамках клипа) и размеры которой можно менять. Проблема в том что огранечение по перемещению не всегда сробатывает, например если я резко дерну мышкой, карта вылетает за пределы области, а если двигаю не быстро то все работает. Вот код
Код:
_root.onMouseDown = function()
{
 a = _root._xmouse - bigmap._x;
 b = _root._ymouse - bigmap._y;

  _root.onMouseMove = function()
  {
    s = bigmap._xscale = bigmap._yscale;
    l = s*14.47/2;// opedelyaem na skol'ko karta izmenilas' pri maswtabirovanii
    k = s*11.024/2;
// opredelyaem 4 to4ki na granyax karti
   coord4 = bigmap._x - l;
   coord3 = bigmap._x + l; 
   coord2 = bigmap._y + k;
   coord1 = bigmap._y - k;
   if ((coord1 < 0)&&(coord2 > 418.9)&&(coord3 > 550)&&(coord4 < 0))
    {
		// dvigaem kartu tak 4tobi pri nazatii na nee cener karti i poziciya kursora ne bili ravni
                      bigmap._x = _root._xmouse - a;
		bigmap._y = _root._ymouse - b;
     }
  updateAfterEvent(); 
  }
}

_root.onMouseUp = function()
{
delete _root.onMouseMove;
}

Старый 28.05.2008, 15:45
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Используйете метод startDrag, указывая в параметрах область драга.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: May 2008
Сообщений: 476
1. Движение мыши это процесс прерывистый
2. При быстром движении наблюдаются два граничных момента:
а) позиция мыши не перешла за границы холста
б) позиция мыши вне пограничной области ограничения, но проверять ее уже некому - обработчик onMouseMove работает только в области клипа
Вот и получается, что если Вы быстро двигаете мышь Вы попросту пролетаете пограничную контролируемую область и обработчик неуспивает зафиксировать факт "вне холста".


Последний раз редактировалось Alex_beginner; 28.05.2008 в 16:14.
Старый 28.05.2008, 18:52
Kroli4eg вне форума Посмотреть профиль Отправить личное сообщение для Kroli4eg Найти все сообщения от Kroli4eg
  № 4  
Ответить с цитированием
Kroli4eg
[+2 24.06.08]
 
Аватар для Kroli4eg

Регистрация: Mar 2008
Адрес: Dubai
Сообщений: 34
Цитата:
Сообщение от iNils Посмотреть сообщение
Используйете метод startDrag, указывая в параметрах область драга.
Здорово, как все легко ролучается. ;-) Спасибо огромное!!! Сделала так(если кому интересно):
Код:
_root.onMouseDown = function()
{
 s = bigmap._xscale = bigmap._yscale;
 l = s*1447/200;
 k = s*1102/200;
 a = 209.44 - k;
 b = 275 - l;
 coord4 = 209.45 - a;
 coord3 = 209.45 + a;
 coord2 = 275 + b;
 coord1 = 276 - b;
 bigmap.startDrag(false, coord2, coord4, coord1, coord3);
}
_root.onMouseUp = function()
{

_root.stopDrag(); 

}
Не подскажете как привязать теперь отдельные районы на карте, чтоб при наведении на них курсора мыши они подсвечивались. При статичной карте все понятно, но при динамичной.... У меня идея такая: Сделать клип в изначальном масштабе карты, привязать к координатам на карте, потом двигать и масштабировать вместе с картой. Может кто знает как это сделать по проще или по другому? Потому что усли будет не один объект, а несколько, то мне кажетса будет тормозить

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

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

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


 


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


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