![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
|
есть контейнер в виде мувиклипа "mainPlate", на нём лежат дети мувиклипы аля
у каждого element есть свой .id как узнать id "dropTarget`а" (куда положили) при перетаскивании одного element на другой? делаю так: element.dropTarget as Element возвращает null пробовал element.dropTarget.id - тоже null можно и hitTest, но как я понял, он только для Sprit`ов.. подскажите нубасу = ) |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Привет))
Дело в том что dropTarget возвращает самый глубоковложенный объект, то есть в твоем случае не Element, а то что в нем в самом конце списка отображения, скорее всего [Object Shape] (можешь проверить трейсом, трейси просто element.dropTarget). Соответственно, чтобы получить id Элемента, надо подняться на его уровень. Нпример, в том файле что я показывал, работает такая строчка в collisionControl:
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
|
ааа) очередной раз выручаешь!)
|
|
|||||
|
Что есть collisionControl?
parent - разве не есть зло, тем более 2 раза?
__________________
Стой! Опасная зона! Работа мозга! |
|
|||||
|
Цитата:
Представь ситуацию : есть некий класс в который зашивается по ходу хеш мапа, зашивается так себе не спеша... А класс этот некий контейнер в котором находятся кнопки управления и т.д. Вот по нажатию кнопки нужно заюзать часть хеш мапы. ... и имеем e.target.parent as SuperClass/ Реализация ни к черту верно? Когда такое может быть использовано : например есть у вас граф либа ( векторная ) созданная в IDE - вот там же в ide и создался графический контейнер в котором и лежат наши красивые элементы управления
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Безусловное зло! Это иллюстрация, где прячется Element. Естественно, в данном случае это сильносвязный быдлокод (заметьте, тут даже проверок не делается, так как это – не решение, а подсказка где копать). Мне кстати тоже будет интересно услышать кошерные варианты решения данной ситуации. Вкратце опишу еще раз - есть на экране несколько экземпляров класса Element, расширяющего Спрайт. В них находятся мувиклипы (библиотечных подклассов). Element'ы таскаются мышкой и опускаются друг на друга. В обработчике отпускания мыши выполняется stopDrag() и надо получить ссылку на экземпляр класса Element.
Свойство dropTarget указывает на какую-то графику в библиотечном клипе, который внутри этого экземпляра Element (ну или на что-то совсем левое, если бросили мимо).
__________________
Reality.getBounds(this); |
|
|||||
|
Ну да, как вариант дополнительно можно в рекурсии тогда вверх идти, проверяя каждого родителя на is Element вместо дабл парента.
__________________
Стой! Опасная зона! Работа мозга! |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
А вообще это всё бессмысленное занятие – dropTarget возвращает объект, оказавшийся не под брошенным объектом, а оказавшийся под курсором в момент отпускания кнопки мыши.
Для вашей задачи нужна другая система проверки – проверка пересечений самих объектов.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Oct 2011
Адрес: Москва
Сообщений: 21
|
ну dropTarget действительно не подходит здесь.(( а что тогда?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 08:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|