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

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

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

блогер
Регистрация: Sep 2010
Сообщений: 82
Записей в блоге: 2
По умолчанию MOUSE_DOWN и CLICK на один объект

Столкнулся с казалось бы простой задачей. Есть мувиклип, который можно перетаскивать мышью (зажать кнопку, передвинуть курсор, отпустить). Но если по нему делать простой клик, он должен проигрывать анимацию. Проблема в том, что программа сразу реагирует на MOUSE_DOWN и вступает в фазу передвижения, и затем не реагирует на CLICK.
Ловить MOUSE_DOWN + MOUSE_UP через промежуток времени и обрабатывать как клик - как-то криво и ненадёжно. Прошу помочь, есть ли другие варианты?

Старый 18.04.2012, 16:39
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Подписаться на оба события сразу.
Добавить флаг вступления в фазу передвижения. Если он true — не реагировать на клик.
Вступать в фазу передвижения не по нажатию кнопки мыши, а по какому-то признаку перемещения с нажатой кнопкой.
__________________
Поймай яблоко 2!

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

блогер
Регистрация: Sep 2010
Сообщений: 82
Записей в блоге: 2
Проблема в том, что на MOUSE_DOWN он должен сразу менять вид, ещё до начала движения. Иначе недалёкие юзеры могут вообще не понять, что его вообще можно двигать.

Старый 18.04.2012, 17:03
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 4  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Цитата:
Сообщение от Rembrant Посмотреть сообщение
...на MOUSE_DOWN он должен сразу менять вид, ещё до начала движения...
Вид пускай меняет, но клик не блокирует. Однако, если это эстетически плохое решение, придется отказаться от изменения вида до начала явного смещения.
Реакция на смещения объекта, по которому еще и кликать приходится, должна иметь искусственный порог. Никто не любит не срабатывающий клик из-за едва заметного движения мышки в момент клика, что часто происходит у неопытного пользователя.

P.S.
И особенно актуально это на тачскрине.
__________________
Поймай яблоко 2!


Последний раз редактировалось Zebestov; 18.04.2012 в 17:09.
Старый 18.04.2012, 17:05
Sweet07 вне форума Посмотреть профиль Отправить личное сообщение для Sweet07 Найти все сообщения от Sweet07
  № 5  
Ответить с цитированием
Sweet07
 
Аватар для Sweet07

Регистрация: Jul 2011
Сообщений: 121
поставь задержку на startDrag, равную пол-секунде. При завершении таймера - startDrag,

добавь слушатель MOUSE_UP, который бы прерывал таймер, не давая ему завершиться.

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

Регистрация: Feb 2012
Сообщений: 1,540
Не вижу разницы между CLICK и MOUSE_UP.

Старый 18.04.2012, 19:02
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 7  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
> Не вижу разницы между CLICK и MOUSE_UP.
При MOUSE_UP соответствующий ему MOUSE_DOWN может быть совершенно на другом объекте. Для клика - всегда на том же.

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

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
При MOUSE_UP соответствующий ему MOUSE_DOWN может быть совершенно на другом объекте. Для клика - всегда на том же.
Спасибо.

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

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

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


 


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


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