![]() |
MOUSE_OVER срабатывает на тексте но не на Sprite или Shape
С помощью addChild я добавляю два элемента в кнопку. TextField и Shape. Первое для надписи на кнопке, второе естественно, для формы.
Код AS3:
Теперь, если добавить листенер buttonBody, который активирует парочку твинов (один из которых передвигает все текстовое поле влево), то он почему-то считается, что MOUSE_OVER и MOUSE_OUT должен реагировать именно на текстовое поле. То есть, оставив мышку там, где было текстовое поле до твина, и куда оно возвращается после MOUSE_OUT, можно зациклить событие (откатился текст - прикатился текст). В чем может быть дело? Если какие части кода нужны, кину, я просто думаю, может я не знаю о каких-то особых свойствах addChild-а, глубины(индекса) и т.д., которые дают такой странный косяк. Кстати, суть в том что на buttonShape листенер вообще не реагирует. Хотя он там, за текстовым полем виднеется! Как так, если оба элемента находятся в buttonBody и на весь buttonBody повешен листенер? |
Начнём с того, что Shape вообще не генерирует события мыши.
Если хотите, чтоб спрайт под текстовым полем реагировал на мышь, отключите обработку событий мыши у текстфилда. tf.mouseEnabled = false; Цитата:
|
Код AS3:
|
Спасибо, помогло! :)
Главная моя ошибка была в том, что я пытался на Shape повесить листенер, когда надо было на спрайт. И еще текст, конечно) Спасибо. |
Вместо MOUSE_OVER и MOUSE_OUT в большинстве случаев лучше использовать ROLL_OVER и ROLL_OUT
|
Обычно делаю строки:
Код AS3:
|
Зачем?
И зачем mouseEnabled назначается дважды? |
Я сделал mouseEnabled = false а после создал полностью прозрачный спрайт для области нажатия :) Скукожилась ли кнопка от программной анимации или текст выглянул из-за фона кнопки, область нажатия все та же, что мне очень помогло.
|
Для этого у спрайта есть свойство hitArea.
|
Очепятка
|
| Часовой пояс GMT +4, время: 21:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.