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

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

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

Регистрация: Jul 2009
Сообщений: 40
The bomb! removeMovieClip

Доброго дня, Дамы и Господа флэшеры!
Вопрос следующий:

На сцене есть кнопка, нажатие которой вызывает появление на сцене мувика из библиотеки. В мувике есть кнопка, нажатие на которую должно удалять этот самый мувик со сцены (т.е. аналог открытия и закрытия окна). Открывать мы научились)) А вот закрытие от чего-то не работает((( Привожу код:

Код AS1/AS2:
this.link01.but01.onRelease = function() {
	_root.attachMovie("link01_cont","link01_cont",this.getNextHighestDepth(),{_x:91.5, _y:0});
};
this.link01_cont.close01.onRelease = function() {
	_root.link01_cont.removeMovieClip();
};
Казалось бы все просто, но сам пока не могу понять в чем косячек(((

Старый 17.12.2009, 18:04
lexa2000lexa вне форума Посмотреть профиль Отправить личное сообщение для lexa2000lexa Найти все сообщения от lexa2000lexa
  № 2  
Ответить с цитированием
lexa2000lexa

Регистрация: Sep 2005
Сообщений: 950
если кнопка находиться в приатаченном клипе попробуйте вот так
Код AS1/AS2:
this.link01_cont.close01.onRelease = function() {
this._parent.removeMovieClip();
};

Старый 17.12.2009, 18:16
rockerror вне форума Посмотреть профиль Отправить личное сообщение для rockerror Найти все сообщения от rockerror
  № 3  
Ответить с цитированием
rockerror
 
Аватар для rockerror

Регистрация: Jul 2009
Сообщений: 40
Не-а)) не пашет... Я вот думаю... а правильно-ли, что я когда аттачу, вот тут:
Код AS1/AS2:
_root.attachMovie("link01_cont","link01_cont",this.getNextHighestDepth(),{_x:91.5, _y:0});
одно и то же имя мувику пишу?...

Старый 17.12.2009, 18:28
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Вот вы назначаете в коде обработчик:
Код AS1/AS2:
this.link01_cont.close01.onRelease = function() {
	_root.link01_cont.removeMovieClip();
};
До нажатия кнопки сцене еще отсутствует link01_cont.close01, так что эта строка тут только как балласт идет.
Запишите назначение обработчика на закрытие внутри первого обработчика:
Код AS1/AS2:
this.link01.but01.onRelease = function() {
	var item:MovieClip = _root.attachMovie('link01_cont', 'link01_cont', this.getNextHighestDepth(), {_x:91.5, _y:0});
	item.close01.onRelease = closeCont;
};
 
function closeCont () {
	this._parent.removeMovieClip();
}


Последний раз редактировалось mooncar; 17.12.2009 в 18:36.
Старый 17.12.2009, 18:37
rockerror вне форума Посмотреть профиль Отправить личное сообщение для rockerror Найти все сообщения от rockerror
  № 5  
Ответить с цитированием
rockerror
 
Аватар для rockerror

Регистрация: Jul 2009
Сообщений: 40
Глубокоуважаемый mooncar... Впервые предложенный Вами код не заработал)))

Добавлено через 6 минут
Так, но идею уловил... Попробовал вот так:

Код AS1/AS2:
this.link01.but01.onRelease = function() {
	_root.attachMovie("link01_cont","link01_cont",this.getNextHighestDepth(),{_x:91.5, _y:0});
	_root.link01_cont.close01.onRelease = function() {
		_root.link01_cont.removeMovieClip();
	};
};
Однако, фигушки...(((

Старый 17.12.2009, 18:45
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Видимо, где-то с путями косячек,без исходника легко напутать в чужой структуре. Но вы-то поняли свою ошибку про ошибочность назначения обработчика, когда ссылка на мувик еще никуда не ведет?

Попробуйте так:
Код AS1/AS2:
this.link01.but01.onRelease = function() {
	_root.attachMovie('link01_cont', 'link01_cont', this.getNextHighestDepth(), {_x:91.5, _y:0});
	_root.link01_cont.close01.onRelease = closeCont;
};
 
function closeCont () {
	root.link01_cont.removeMovieClip();
}
Добавлено через 3 минуты
Кстати, еще ошибка - аттачите вы на _root, но пишите почему-то при аттаче this.getNextHighestDepth(). Изнутри this.link01.but01 this будет указывать на link01.but01, а вовсе не на _root.


Последний раз редактировалось mooncar; 17.12.2009 в 18:50.
Старый 17.12.2009, 18:52
rockerror вне форума Посмотреть профиль Отправить личное сообщение для rockerror Найти все сообщения от rockerror
  № 7  
Ответить с цитированием
rockerror
 
Аватар для rockerror

Регистрация: Jul 2009
Сообщений: 40
Да... я с путями совсем запутался... Если выложу исходничеГ - глянете?)))

Старый 17.12.2009, 18:54
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Посмотрите пример. Попробуйте разобраться у себя в адресации. Если не получится - выложите исходник, попробуем глянуть.
Вложения
Тип файла: rar Menu.rar (6.6 Кб, 38 просмотров)

Старый 17.12.2009, 19:10
rockerror вне форума Посмотреть профиль Отправить личное сообщение для rockerror Найти все сообщения от rockerror
  № 9  
Ответить с цитированием
rockerror
 
Аватар для rockerror

Регистрация: Jul 2009
Сообщений: 40
Блин)) В примере все работает)) Копирую к себе, проставляю адреса, казалось бы, как нужно и работать все перестает... ща выложу исходник... Гляньте, если не затруднит...

Добавлено через 7 минут
Стоп!))) Нашел косяк!!!)))))

Добавлено через 8 минут
все оказалось архи просто)) Код-то был рабочий)) Дело в том, что я в мувике, где была кнопка не прописал имя кнопки))

Старый 17.12.2009, 19:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ага, бывает. Только this.getNextHighestDepth() все-таки исправьте на _root.getNextHighestDepth()

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

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

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


 


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


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