Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Сортировка Touch (http://www.flasher.ru/forum/showthread.php?t=214052)

Godwarlock 02.04.2017 20:22

Сортировка Touch
 
Можно ли как-то отсортировать порядок, ловли событий по тачу на экране? Например есть два тача. Первый отвечает за нажатие по всей области сцены, второй отвечает за нажатие кнопки. Когда нажимаешь на кнопку, срабатывает тач по экрану и только после этого тач кнопки, надо вот этого как-то избежать. Вот как сделать, чтобы всегда сначала проверка была на задействие кнопки, чтобы там поставить флаг, исходя из которого тач по экрану будет или не будет срабатывать

Wolsh 02.04.2017 20:39

Код AS3:

if (e.target == _button) return;


Godwarlock 02.04.2017 20:41

Классы с разными тачами ничего не знают друг о друге.
Код AS3:

trace(e.target);//TextToObject

Возможно тут проверку надо другую сделать, но
Код AS3:

if(e.target == TextToObject)
{
 return;
}

Не работает)
P.S
Исправил
Код AS3:

if(e.target as TextToObject)
{
 return;
}


alexandrratush 02.04.2017 20:55

Код AS3:

if(e.target is TextToObject)
{
 return;
}

Если вы хотите проверить тип target, то нужно использовать оператор is, вместо ==.

Godwarlock 02.04.2017 20:57

alexandrratush
Ага, спасибо. Только я использовал as, вместо is, не пойму в чем между ними разница, ибо оба варианта работают

Wolsh 02.04.2017 21:14

is возвращает булево true/false
as возвращает либо объект, если он прошел кастинг, либо null
В контексте if() этот результат преобразуется в булево, и объект становится true, a null — false, поэтому у Вас "работает". Но это долгий и нелепый путь, когда есть кошерный is.

Добавлено через 4 минуты
И еще хочу заметить, что описанный Вами порядок обработки Событий не может быть таким. Сначала должно регистрироваться событие на кнопке, и только потом оно всплывает и регистрируется на сцене. Если, конечно, при подписке на событие от сцены Вы не указали явно useCapture = true.

Godwarlock 02.04.2017 21:24

Wolsh Спасибо за разъяснение) Вопрос решен)

caseyryan 03.04.2017 06:35

Godwarlock, ты стандартные тач события используешь или старлинговские?

Godwarlock 03.04.2017 16:03

caseyryan Старлинговские, как таковыми обычными флешовыми дисплеями и все что с ними связано я уже давно не пользуюсь) Даже парочку фреймворков переписал под новый старлинг 2.1) Ибо он крут)


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

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