PDA

Просмотр полной версии : Повтор действия или ...?


repz
15.11.2007, 13:54
Задача:
Есть мувик (ГЛАВНЫЙ) при клике на нем аттачится из библиотеки другой клип в центр экрана (сцены) и увеличивается в два раза.

В приаттаченом клипе два клипа:
1- при наведении вылазит хинт
2- мувик закрыть. выполняется unloadMovie() c именем приаттаченного. Если делать removeMovieClip(), то все работает, если не наводить на 1 мувик с хинтом.

Что не работает.
При повторном нажатии на ГЛАВНЫЙ мувик, мувик из библиотеки не позиционируется по центру и не увеличивается. Точнее сказать аттачится, но в x=0, y=0.

Код корявый конечно), но помогите разобраться.
hint._visible=false; //прячем подсказку
mk1.onRelease=function(){
_root.attachMovie("mk1mc", "newmc", 0);//this.getNextHighestDepth());
newmc._x = (Stage.width-newmc._width)/2;
newmc._y = (Stage.height-newmc._height)/2; //позиционируем по центру
newmc._width=newmc._width*2;
newmc._height=newmc._height*2; // увеличиваем
mc._alpha=30;
mk1._visible=false; //прячем кнопку
//trace(newmc.st1._x);
//trace(newmc.st1._y);
newmc.clo.onRelease=function(){ // кнопка закрыть
_root.newmc.removeMovieClip();//unloadMovie();
mc._alpha=100;
mk1._visible=true;
}
newmc.st1.onRollOver=function(){ // показать хинт
hint._visible=true;
hint.swapDepths(0);
}
newmc.st1.onRollOut=function(){ //спрятать хинт
hint._visible=false;
}
}
Если выпоняется
newmc.st1.onRollOver=function(){ // показать хинт
hint._visible=true;
hint.swapDepths(0);
}
То если нажать на на закрыть выполняется все кроме
_root.newmc.removeMovieClip();

Fernando Costa
15.11.2007, 14:16
видимо проблема с глубинами. протрейсьте глубины ваших мувиков. Мувиклипы могут ремовиться только если они на неотрицательной глубине.

repz
15.11.2007, 14:36
2 Fernando Costa:
Извеняюсь, а как протрейсить глубину
trace (newmc.???)
и повысить ее до удаления? спс

CrazyFlasher
15.11.2007, 14:51
trace (newmc.getDepth());

repz
15.11.2007, 14:54
2 CrazyFlasher:
спс
Пробывал, выдает "underfined".

Решил проблему добавлением в код закрытия swapDepths(0);

А можна, как-нить по другому ее решить?

Wolsh
15.11.2007, 23:38
У Вас то хинт на ноль, то ньюмс... Вы уж разберитесь с глубинами, на одной глубине два клипа не могут существовать. Можно просто перекинуть основной клип на положительную глубину СРАЗУ, и потом спокойно проводить операции. Т.е. проблема в том, что Вы смешали два стиля проектирования - пытаетесь пользоваться и таймлайновой анимацией, и программированием одновременно. Имхо, либо аттачьте из библиотеки ВСЁ, либо забрасывайте наверх всё нарисованное руками (и соотв. лежащее на отрицательной глубине) сразу при запуске.

terbooter
16.11.2007, 08:17
unloadMovie удаляет и с отрицательных глубин

repz
16.11.2007, 18:05
2 Wolsh:
Спасиб, все гружу из библиотеки.

2 terbooter:
Может и удаляет, но в моем случае (так, как он описан) не работает.