![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
С этим нет особых проблем. Можно.
Другое дело, что применять это можно в только в тех случаях, когда у тебя родитель и ребенок по сути одно целое и не могут существовать друг без друга. Ну или во всяком случае, когда ребенок без данного родителя не может существовать. Вещание событий применяется для того, чтобы сделать объекты максимально независимыми, а проект более гибким.
__________________
http://realaxy.com |
|
|||||
|
Понятно, спасибо. Забыл ещё дополнить - если можно, то как?
Для простоты послал мувиклип на главную сцену, из конструктора что нибудь вроде Выдает ошибку компиляции - Цитата:
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
стервочка (я мужик)
|
нету такого свойства. хелп в руки
|
|
|||||
|
Хм, нашел - свойство parent. Странно оно работает...
Для примера - в фрейме код: var colSelector:colorSelector=new colorSelector(this);
addChild(colSelector);
colSelector.init();
function setMyColor(n:Number){
trace(n);
}
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 не найден
}
}
}
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
стервочка (я мужик)
|
вы не можите работать напрямую с памтью плэйера, поэтому даже если Вы напишите var myvar = new Object(), myvar всё равно будет ссылкой.
|
|
|||||
|
Ммм, согласен. Все же, почему myParent работает правильно, а parent нет, если они идентичны?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
стервочка (я мужик)
|
они оба работаю правильно.
просто у компилятор не знает о том, что у вашего parent типа DisplayObjectContainer есть метода setMyColor. а объект myParent не типизирован, что приводит к болие медленному доступу, за никогда не приводит к ошибкам компиляции. |
|
|||||
|
Понятно, спасибо. Есть ли способы заставить компилятор увидеть этот метод через parent?
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
|
Если есть parent и есть метод, то компилятор его увидит без проблем.
Если всё-таки речь идет о том, чтобы его увидел редактор кода, то parent нужно кастить интерфейсом или классом.
__________________
http://realaxy.com |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 18:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|