Кнопка внутри MovieClip в AS2 - _parent и depth, странное поведение кнопок

программирование flash ActionScript клип parent

Есть MovieClip в фрэйме, внутри кнопка. На том же фрейме другой MovieClip, который поверх предыдущего - вроде тулбара (swapDepth(99999), если понимаете о чем я). Первый клип перемещается по _x _y, так что может быть в определенных местах перекрыт вторым. Но, кнопка не хочет перекрываться, т.е. первый клип заезжает под второй, а кнопка все-равно реагирует! Как исправить?

Еще вопрос - из Actions экземпляра кнопки в первом клипе нельзя получить _parent, вернее можно, но он возвращает не тот клип, в котором находится, а _level0. Пытался передать из другого под-клипа _parent в _parent.mybutton.myparent = _parent._name, но из Actions экземпляра кнопки невозможно получить this.myparent - trace выводит undefined.

Всю эту муть с кнопками я затеял, потому что в обычном клипе событие on (release) срабатывает независимо от того, находится курсор на содержимом клипа или просто в его прямоугольной области, а мне нужно только на содержимом.

Заранее спасибо за помощь!


P.S.
Поиск пробовал, но, видимо, не получилось правильно сформулировать запрос. Так что надежда на вас!

Скачать исходник можно здесь http://visualbasic.md6.ru/f.zip

Примечание:
Когда перетаскиваешь тарелку под панель, она не должна после этого перетаскиваться обратно.
Ответы:
Как вариант можно указать дополнительные параметры для startDrag, чтоб ограничить регион перемещения.
параметры такие startDrag(target:Object, [lock:Boolean, left:Number, top:Number, right:Number, bottom:Number]).
Вот пример startDrag(this, fase, 0, 0, 550, 300); Так тарелка будет перемещаться только в пределах прямоугольника 550х300.
И лучше использовать мувик, а не кнопку. А чтоб срабатывало только на содержимом - нарисуйте маску на самом верхнем слое внутри мувика (ну и потом правый клик по слою - mask).
______________
Спустя несколько минут мне в голову пришла еще одна идея.
Делаем мувик 1, пишем ему что-то вроде этого.
on(press){startDrag(this.mc,false,0,0,550,400)}
on(release, releaseOutside){this.stopDrag()}
Внутри первого мувика у нас мувик 2, с именем mc и маска, по форме той области, где можно двигать.
А внутри второго мувика картинка и круглая маска.


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.