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

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

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

Регистрация: Sep 2010
Сообщений: 98
По умолчанию Смещение мыши

Как написать "если мышь движется вверх, то..." ?

Старый 27.11.2010, 19:20
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Поставить таймер, в нем смотреть разницу между прошлым положением мыши и новым.
__________________
тут я

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

Регистрация: Mar 2009
Сообщений: 207
Цитата:
Сообщение от КорДум Посмотреть сообщение
Поставить таймер, в нем смотреть разницу между прошлым положением мыши и новым.
Зачем таймер? MouseMove есть

Старый 27.11.2010, 19:27
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Тьфу, канешна же есть. То же, что я сказал, только через mouseMove. И да, судя по всему, вам надо только мышку вертикально вверх, так что, предугадывая, скорее всего, вам нужно будет смотреть еще и координату по иксу, то есть, ее минимальное отклонение.
__________________
тут я

Старый 27.11.2010, 20:44
Andrei0077 вне форума Посмотреть профиль Отправить личное сообщение для Andrei0077 Найти все сообщения от Andrei0077
  № 5  
Ответить с цитированием
Andrei0077

Регистрация: Sep 2010
Сообщений: 98
Логически понятно - при движении мыши начать отчёт и сравнивать координаты. Не соображу, как технически это сделать.

Старый 27.11.2010, 20:54
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 6  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ну вводишь две переменные (типа Point) - одна хранит старое значение положения мышки, а вторая - текущее.
При onMouseMove записываешь старое значение из текущего, а в текущее записываешь mouseX и mouseY.
Вот на основании этого и делаешь выводы, куда юзер потянул мыша.

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Кажется, сейчас пойдут просьбы о помощи кодом. Проще, наверно, сразу написать пример:
Код AS3:
// где-то там в при клике или еще где
oldY = stage.mouseY;
oldX = stage.mouseX;
 
private function onMouseMove(event:MouseEvent):void {
var deltaY:int = stage.mouseY - oldY; // вот и узнали, насколько изменилась координата по У
var deltaX:int = stage.mouseX - oldX;
oldY = stage.mouseY;
oldX = stage.mouseX;
if (deltaX > -20 && deltaX < 20) //чего-то делаем
}
deltaY = [-20, 20] нужно для того, чтобы определить, что юзверь потянул мышку по вертикали, а не наискосок. Опционально, но как пример, показано.
__________________
тут я

Старый 27.11.2010, 21:18
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 8  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ну кстати, как вариант, можно приводить смещение мыши к единичному вектору и смотреть dotProduct с вектором [0, 1]. А там и решать уже, в каких пределах считать, что мышь движется "вертикально".

Старый 27.11.2010, 21:26
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 9  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
Сообщение от i.o. Посмотреть сообщение
ну кстати, как вариант, можно приводить смещение мыши к единичному вектору и смотреть dotProduct с вектором [0, 1]. А там и решать уже, в каких пределах считать, что мышь движется "вертикально".
Вай, а хто ето?
__________________
тут я

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

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
ну по-русски — скалярное произведение векторов ))

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

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

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


 


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


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