Просмотр полной версии : Перестает работать двух-уровневое меню с hit test, после скролла.
Ситуация такая. Есть презентация, в ней скролл работает по принципу того, что изменяется текущий «_y» главного мувика. Все работает прекрасно, только перестает корректно работать двух-уровневое меню (наводишь курсор на один мувик — появляется еще ряд мувиков, из них выбираешь любой и жмешь…) в коде этого меню использовал hitTest.
Когда эта менюшка стоит на месте — все в порядке, все работает. Стоит только ее увести скроллом за пределы видимости — начинают не срабатывать кнопки, или путаются их значения (жмешь на первую, а срабатывает, как будто третья )
Как добиться полноценной работоспособности менюшки, после скрытия и появления ее из-за пределов видимости?
Спасайте…
У тебя система координат нарушается
у тебя скорее всего так Menu(которое можно скролить)=>подменю. Вот это подменю у тебя сбивается. Протрейсь их координаты
AlexCooper
22.09.2008, 20:34
:wacko:
скинь fla поможу чем смогу.
NoCD, спасибо за наводку! Да, координаты подменю сбиваются. Это факт. А как это предотвратить?
AlexCooper — Спасибо. Только там огромный исходник и куча левых файлов.
Сейчас постараюсь облегчить до минимума. И выложу ссылку на файл.
Psycho Tiger
22.09.2008, 21:37
Если менюшка уж не очень экзотической формы (проще говоря - прямоугольник), то можно обойтись без хиттеста, пользуясь getBounds() - у него есть параметр coordinateSpace (или как то так) - суть в том, что если указать _root - автоматически все координаты "перефразируются" по _root`у, и можно написать свой простенький хиттест, учитывая координаты мышки по _root`у (это тоже мы можем сделать).
Psycho Tiger, спасибо за идею.
Сейчас поразмыслил и вот к чему пришел. Сбиваются координаты не самих мувиков — они остаются на местах. А сбиваются их значения, вернее instance name. Потому что если бы сбивались координаты мувиков подменю, то они соответственно и отображались бы не правильно, а отображаются они, до и после скролла — правильно.
Что за беда… ?
Вот упрощенный исходник:
Пока скролл не трогаешь — всё гуд, как только вверх подгонишь — лажа.
Гляньте, кому не лень. Спасайте. :(
Спасибо всем за ответы. Я разобрался.
При хит тесте нужно было указывать _root перед _ymouse, _xmouse.
Вопрос исчерпан.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.