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

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

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

Регистрация: Aug 2010
Сообщений: 44
По умолчанию Flash и тач-скрин.

Здравствуйте. Возникла проблема - хотел спросить совета у более опытных Флешеров =)

Переделываю 1 игрушку с АС2 на АС3 - и попросили добавить кнопки, чтобы её можно было гонять и на точ скрине.

На обычом компе движение вперед назад осуществляется кнопками. Здесь надо добавить кнопки как для нажатия мыши - причем надо очень точно их обработать, чтобы всё работало четко.

Вот примерно так обрабатываю:

fRMD- оброботчик выполняющийся если кнопка нажата.
fRMU - если не нажата - отключает движение.

Код AS3:
this.addEventListener(MouseEvent.MOUSE_DOWN,fRMD);
this.addEventListener(MouseEvent.MOUSE_UP,fRMU);
this.addEventListener(MouseEvent.CLICK,fRMU);
//this.addEventListener(Event.DEACTIVATE, fDEzRight);
this.addEventListener(MouseEvent.ROLL_OUT, fRMU);
this.addEventListener(MouseEvent.MOUSE_OUT, fRMU);
Но порою бывает так, что девайс не понимает что кнопка отжата и продолжает движение.

Есть ли возможность обработать как то подругому - к примеру по таймеру ? Или может есть какой то листенер для точ скринов ? Есть ли какое нить свойство которое можно проверять по таймеру отвечающее нажата ли мышка - как к примеру в АС 2 if mouse down ?

Как проверить с 100% вероятностью на точ скрине что кнопка была отжата ?

Может конечно проблема именно в моем девайсе - у меня при долгом нажатие на экран в плеере выплывает какая то менюха, которую не получается отрубить, но все же - решил заранее подстраховаться и узнать возможные варианты =)

Всем заранее спс =)


Последний раз редактировалось mooncar; 16.07.2012 в 20:23.
Старый 14.07.2012, 19:36
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 2  
Ответить с цитированием
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
События MOUSE_OVER, MOUSE_OUT для тач интерфейсов вообще не нужны, потому что их в этом случае быть не может.

MOUSE_UP нужно вешать не на кнопку, а на stage.

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

Регистрация: Feb 2012
Сообщений: 68
Зачем тебе обрабатывать еще и клик?
Клик это MOUSE_DOWN+MOUSE_UP
Эти слушатели вешай на stage, как сказал illuzor. И проверяй какая под курсором кнопка при нажатии.

Старый 14.07.2012, 22:32
OwnerOfSuccuby вне форума Посмотреть профиль Отправить личное сообщение для OwnerOfSuccuby Найти все сообщения от OwnerOfSuccuby
  № 4  
Ответить с цитированием
OwnerOfSuccuby

Регистрация: Aug 2010
Сообщений: 44
События у меня не отключалось ))) Вот и добавил все возможные листенеры =) Не помогло =))) Помогло зато когда стал проверять на координаты по х мыши =))) Хоть на точ скрине и нет её (мыши).
Выход значения маусХ при отпускании на то более ли оно 5000 - оно там при отпускание оказалось что иногда устанавливается в 100к+ =) Как говорится мы не ищем простых путей =))) Поэтому идем кривыми и длинными =)))

Огромное спасибо - да действительно на stage помогло. Что то меня переклинило =)))

Старый 15.07.2012, 06:12
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 5  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
Все несколько красивее можно сделать.
Используйте не MouseEvent, а TouchEvent. У него есть поле touchPointID (или что-то вроде того).
Заводим таблицу. При эвентах, говорящих о присутствии точки касания, записываем ид в таблицу.
При обратных действиях -- удаляем свойство с ID из таблицы.
Количесто элементов таблицы -- количество точек касания.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 16.07.2012, 20:10
OwnerOfSuccuby вне форума Посмотреть профиль Отправить личное сообщение для OwnerOfSuccuby Найти все сообщения от OwnerOfSuccuby
  № 6  
Ответить с цитированием
OwnerOfSuccuby

Регистрация: Aug 2010
Сообщений: 44
Огромное всем спасибо за ответы =)

Старый 16.07.2012, 20:24
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 7  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
OwnerOfSuccuby, код необходимо оформлять тегами.
__________________
Идите первым!

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

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

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


 


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


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