Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.11.2007, 13:54
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 1  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
По умолчанию Повтор действия или ...?

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

В приаттаченом клипе два клипа:
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();


Последний раз редактировалось repz; 15.11.2007 в 14:13.
Старый 15.11.2007, 14:16
Fernando Costa вне форума Посмотреть профиль Отправить личное сообщение для Fernando Costa Найти все сообщения от Fernando Costa
  № 2  
Ответить с цитированием
Fernando Costa
 
Аватар для Fernando Costa

Регистрация: Oct 2006
Адрес: simferopol -> kyiv
Сообщений: 2,161
Отправить сообщение для Fernando Costa с помощью ICQ
видимо проблема с глубинами. протрейсьте глубины ваших мувиков. Мувиклипы могут ремовиться только если они на неотрицательной глубине.
__________________
: M F N W :

Старый 15.11.2007, 14:36
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 3  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 Fernando Costa:
Извеняюсь, а как протрейсить глубину
trace (newmc.???)
и повысить ее до удаления? спс


Последний раз редактировалось repz; 15.11.2007 в 14:41.
Старый 15.11.2007, 14:51
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 4  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
Код:
trace (newmc.getDepth());
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 15.11.2007, 14:54
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 5  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 CrazyFlasher:
спс
Пробывал, выдает "underfined".

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

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

Старый 15.11.2007, 23:38
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 6  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
У Вас то хинт на ноль, то ньюмс... Вы уж разберитесь с глубинами, на одной глубине два клипа не могут существовать. Можно просто перекинуть основной клип на положительную глубину СРАЗУ, и потом спокойно проводить операции. Т.е. проблема в том, что Вы смешали два стиля проектирования - пытаетесь пользоваться и таймлайновой анимацией, и программированием одновременно. Имхо, либо аттачьте из библиотеки ВСЁ, либо забрасывайте наверх всё нарисованное руками (и соотв. лежащее на отрицательной глубине) сразу при запуске.
__________________
Reality.getBounds(this);


Последний раз редактировалось Wolsh; 15.11.2007 в 23:48.
Старый 16.11.2007, 08:17
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 7  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
unloadMovie удаляет и с отрицательных глубин

Старый 16.11.2007, 18:05
repz вне форума Посмотреть профиль Отправить личное сообщение для repz Найти все сообщения от repz
  № 8  
Ответить с цитированием
repz

Регистрация: Mar 2006
Сообщений: 425
2 Wolsh:
Спасиб, все гружу из библиотеки.

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

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:52.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.