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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.05.2011, 21:14
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 11  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
e.target.content.addEventListener(MouseEvent.CLICK, closeWindow);
Вообще, такую конструкцию как раз и можно назвать быдлокодом )

Программе не известно, какой точно тип контента загрузился.
Я бы сначала присвоил это к переменной и привел ее к нужному типу, а уже потом вешал на нее слушатель.
Типа того:
Код AS3:
var image:Bitmap = e.target.content as Bitmap;

Старый 25.05.2011, 22:57
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 12  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Цитата:
Сообщение от goodguy Посмотреть сообщение
Вообще, такую конструкцию как раз и можно назвать быдлокодом )
Программе не известно, какой точно тип контента загрузился.
Я бы сначала присвоил это к переменной и привел ее к нужному типу, а уже потом вешал на нее слушатель.
Типа того:
Код AS3:
var image:Bitmap = e.target.content as Bitmap;
В моем примере была описана суть. Его непонятная ошибка явно не из-за этого.

Старый 26.05.2011, 08:14
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 13  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
ну эта ошибка фиксится просто.
Код AS3:
var myparent:DisplayObjectContainer = parent as DisplayObjectContainer;
if (myparent)  if (myparent.contains(this)) removeChild(this);

Старый 26.05.2011, 11:25
username100500 вне форума Посмотреть профиль Отправить личное сообщение для username100500 Найти все сообщения от username100500
  № 14  
Ответить с цитированием
username100500

Регистрация: May 2011
Сообщений: 17
Вот, привожу весь код. Слушатель по-прежнему не срабатывает.
Код AS3:
	public class Windows extends MovieClip
	{
		public var popup:MovieClip = new MovieClip();
		private var description:MovieClip = new MovieClip();
		private function create_rect(width:Number=10.0, height:Number=10.0) : Sprite
		{
			var s:Sprite = new Sprite();
			s.graphics.lineStyle(0.25, 0x999999, 1.0);
			s.graphics.beginFill(0xCCCCCC, 1.0);
			s.graphics.drawRect(0.0, 0.0, width, height);
			s.graphics.endFill();
 
			return s;
		}
		public var myRect:Sprite = create_rect(190.0, 190.0);
		public function closeWindow(evt:MouseEvent):void {
			trace("i was here");
 
			removeChild(popup);
			popup = null;
		}
		private function onComplete(e:Event):void
			{
				var image:Bitmap = e.target.content as Bitmap;
 
				image.scaleX = 0.4;
				image.scaleY = 0.4;
 
				image.x = myRect.width - 30;
				image.y = myRect.height - 30;
 
				myRect.addChild(image);
 
				image.addEventListener(MouseEvent.CLICK, closeWindow);
 
 
			}
 
		public var container:MovieClip = new MovieClip();
		public function Windows()
		{
 
			description.x = 10;
			description.y = 10;
 
			var sometext:TextField = new TextField();
			sometext.text = "Here will locate some desc";
			sometext.width = 180;
			sometext.height = 180;
 
			popup.addChild(myRect);
			myRect.addChild(description);
			description.opaqueBackground = 0xFFFFFF;
			myRect.x = 30;
			myRect.y = 30;
			description.addChild(sometext);
			description.width = sometext.width-description.x;
			description.height = sometext.height - description.y;
 
			var l:Loader = new Loader();
			l.load(new URLRequest("http://cdn1.iconfinder.com/data/icons/ose/Error.png"));
			l.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
 
			addChild(popup);
 
 
		}
 
	}

Старый 26.05.2011, 11:43
fish_r вне форума Посмотреть профиль Отправить личное сообщение для fish_r Посетить домашнюю страницу fish_r Найти все сообщения от fish_r
  № 15  
Ответить с цитированием
fish_r
 
Аватар для fish_r

блогер
Регистрация: Jan 2011
Сообщений: 1,162
Записей в блоге: 4
Первая ошибка говорит о том, что вы удаляете то, что не добавляли, этого мувика нет на сцене, похоже.
Вторая ошибка о том, что вы удаляете мувик из контейнера где его нет. Т.е. такой объект есть, но не в этом контейнере
и не факт, что в DisplayList.
Тут не прав.
Если он на сцене все же есть такая инструкция не должна выдать ошибку:
Код AS3:
    mc.parent.removeChild(mc);


Последний раз редактировалось fish_r; 26.05.2011 в 11:57.
Старый 26.05.2011, 12:34
username100500 вне форума Посмотреть профиль Отправить личное сообщение для username100500 Найти все сообщения от username100500
  № 16  
Ответить с цитированием
username100500

Регистрация: May 2011
Сообщений: 17
Всем спасибо за помощь!
fish_r, ваш код - то, что нужно было.

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

Теги
movieclip , removeChild
Опции темы
Опции просмотра

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

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


 


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


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