Показать сообщение отдельно
Старый 15.04.2008, 15:53
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
Записей в блоге: 17
Хм, нашел - свойство parent. Странно оно работает...
Для примера - в фрейме код:
Код:
var colSelector:colorSelector=new colorSelector(this);
addChild(colSelector);
colSelector.init();
function setMyColor(n:Number){
		trace(n);
}
Код в colorSelector.as
Код:
package{
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	
	
public class colorSelector extends Sprite{
	private var myParent;
	public function colorSelector(myVar):void{
		myParent=myVar; //ссылка на родителя
	}
	public function init():void{	     this.addEventListener(MouseEvent.MOUSE_DOWN,showMenu);
	}
	private function showMenu(ev:MouseEvent):void{
		myParent.setMyColor(9); //trace 9 - нормально
                      trace(parent===myParent); //true, ну так и должно быть
		parent.setMyColor(9); //ошибка компиляции - метод setMyColor не найден
	}

}
}
Единственное что лезет в голову - что один из них - непосредственно обьект, а другой - ссылка на него. (или как то так, в свое время на ас2 бился из за этого об стену). Но под === равенство выполняется, и оба они - ссылки! Что это? О_о