Показать сообщение отдельно
Старый 13.03.2008, 22:52
Greenish вне форума Посмотреть профиль Отправить личное сообщение для Greenish Посетить домашнюю страницу Greenish Найти все сообщения от Greenish
  № 1  
Ответить с цитированием
Greenish
 
Аватар для Greenish

Регистрация: Nov 2006
Адрес: Издалёка
Сообщений: 83
Отправить сообщение для Greenish с помощью ICQ Отправить сообщение для Greenish с помощью Skype™
Объясните пожалуйста почему не работает следующий код?
Код:
package {
	import flash.display.*;
	import flash.events.*;
	public class Main extends Sprite {
		public function Main () {
			var mon=new Sprite();
			mon.addEventListener("gotoPos", goto);
			dispatchEvent(new Event("gotoPos",true,false));
		}
		public function goto() {
			trace("heaaaa");
		}
	}
}
Не смотрите что создается просто экземпляр Sprite, изначально был класс который наследуется от Sprite. Упростил...

Наверное не совсем понятно... Лучше на примере 2 классов:
1-й класс:
Код:
package {
	import flash.display.*;
	import flash.events.*;
	public class Main extends Sprite {
		public function Main () {
			var mon=new mySprite();
			dispatchEvent(new Event("gotoPos"));
		}
	}
}
2-й класс:
Код:
package {
	import flash.display.*;
	import flash.events.*;
	public class mySprite extends Sprite {
		public function mySprite () {
			addEventListener("gotoPos", goto);
		}
		public function goto() {
			trace("heaaaa");
		}
	}
}
получится если mon.dispatchEvent(new Event("gotoPos"));
но тогда зачем мне диспатчер нужен? если я знаю мувик. В проекте же я не буду знать его. Экземпляров будет много и надо чтобы все реагировали на событие


Последний раз редактировалось etc; 14.03.2008 в 00:20.