Показать сообщение отдельно
Старый 11.06.2010, 20:54
AlliAS вне форума Посмотреть профиль Отправить личное сообщение для AlliAS Найти все сообщения от AlliAS
  № 1  
Ответить с цитированием
AlliAS
 
Аватар для AlliAS

Регистрация: Aug 2007
Сообщений: 168
Question Как из загружаемой флешки отправить в событии ссылку на себя?

Здравствуйте. Необходимо из загружаемой swf отправлять некое событие в котором передавать доступную для основной флешки (которая загружает первую) ссылку на саму же себя (загружаемую флешку). Как это правильно сделать? Пробовал через:
Код AS3:
this.dispatchEvent("evt", true) //в загружаемой, и
 
stage.addEventListener("evt", onEvt) //в основной
но до основной событие почему-то не "доплывает" (хотя отравляю и слушаю когда stage уже сущесвует (в Event.ADDED_TO_STAGE)),

потом пробовал создать собсвенное событие и отправляеть в нем ссылку как дополнительный параметр:
Код AS3:
package vpartner {
	import flash.display.MovieClip;
	import flash.events.Event;
 
	public class PartnerAnimationEvent extends Event{
 
		static public const ANIMATION_START:String = "animation_start";
		static public const ANIMATION_END:String = "animation_end";
 
		private var $animTarget:MovieClip;//ссылка
 
		public function PartnerAnimationEvent(type:String, animTarget:MovieClip, bubbles:Boolean = false) {
			super(type, bubbles);
			$animTarget = animTarget;
		}
 
		public function get animTarget():MovieClip { return $animTarget; }
 
	}
 
}
Отправляю его уже для stage (поскольку в этом случае событие доходит до внешней флешки, но что target, что currentTarget ссылкаються на Stage (сслыки нету))

Код AS3:
stage.dispatchEvent(new PartnerAnimationEvent(PartnerAnimationEvent.ANIMATION_END, this, true));//отправляю (из внутренней флешки)
 
stage.addEventListener(PartnerAnimationEvent.ANIMATION_END, onAnimEnd);//ловлю (во внешней)
В этом случае событие отлавливаеться но возникает совсем непонятная ошибка:
Код:
TypeError: Error #1034: Ошибка типа Coercion: невозможно преобразовать vpartner::PartnerAnimationEvent@ef345f1 в vpartner.PartnerAnimationEvent.
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.display::Stage/dispatchEvent()
	at vpartner.demo::AnimationBase/__whenEnterFrame()
Мучаюсь уже два дня, с этими попытками, подскажите пожалуйста как мне все-таки правильно передать ссылку?