PDA

Просмотр полной версии : Наложение мувиков.


goword
26.02.2008, 01:49
Вообщем, для верхнего мувика прописываю:
content_mc._visible = false;
content_mc.enabled = false;

Но нижний по прежнему неактивен, нижний мувик-кнопка, в чем причина?

MrPoma
26.02.2008, 01:54
Больше кода.

WindWalker
26.02.2008, 05:51
Мувик может не реагировать на мышку, если:

1. Он тоже enabled = false
2. Он имеет тип MovieClip, а не Button, и у нет ни одного события на мышку (т.е. нет ни onPress, ни onRelease, ни onRollOver и т.д.). Если прописать хотя бы одно событие, то он станет "кликабельным".
3. Мувик или кнопка находится внутри другого "кликабельного" мувика или кнопки.

Если я правильно понял, то "верхним" и "нижним" ты называешь не мувики, лежащие на разных слоях, а "внешний" мувик и "внутренний" (расположенные внутри первого).
В таком случае справедлив как раз таки третий пункт.

Решается так: необходимо убрать все мышинные события с внешнего мувика.
Вставить внутрь него прозрачный мувик нужной формы и повесить события именно на него.

То есть получится такая ситуация: один внешний мувик БЕЗ событий.
Внутри него кнопочка (с событиями) и прозрачная "зона для клика" опять же с событиями.
Как их распределить по слоям зависит уже от задачи. Или кнопка выше прозрачного мувика или ниже.

goword
26.02.2008, 13:04
Нет, у меня мувиклип лежит выше другого мувиклипа, в разных слоях, на рабочем поле. Я делаю невидимым верхний, и прописываю enabled = false.
Моя цель: сделать активный второй мувик, лежащий ниже, не выходит.

Liox
26.02.2008, 13:19
Поставьте флаги на месте активации вашего мувика в самом начале функции, и через дебаг посмотрите, если флаг активировался значит что-то в коде к мувику...
Очень часто дело именно в таких маленьких ошибках... Потому что всё правильно написано и mc._visible=false
вполне хватает. Только что проверил, вот код :)

c1.onRollOver = function ()
{
c1._visible=false;
}
c2.onRollOver = function ()
{
c2._x+=10;
}