![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 461
|
Есть главная функция Main, которая создает дочерний мувик MainLayer и передает туда переменную:
public class Main extends MovieClip { var MainVar:Number=241; var MainLayer_Provider:MainLayer; function Main():void { MainLayer_Provider=new MainLayer ; MainLayer_Provider.Provider_Var(MainVar); addChild(MainLayer_Provider); } }//class Но у меня ничего не выходит, он трэйсит NaN. Помогите, пожалуйста, решить проблему. |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 461
|
А как правильно? То что для вас не удивительно, для меня удивительно. Смысл писать сообщение, которое ничего не объясняет?
Ведь я обращаюсь к конструктору после того как передал переменную. |
|
|||||
|
[+6 23.11.09]
|
попробуй так :
public class MainLayer extends MovieClip { var MainVar:Number; function MainLayer():void { } public function Provider_Var(PV_Var):void { MainVar=PV_Var; trace(MainVar); } }//class в родителе вызвать в дочернем принять public class MainLayer extends MovieClip { var MainVar:Number; function MainLayer(PV_Var:Number):void { MainVar=PV_Var; trace(MainVar); } }//class Должно всё работать Последний раз редактировалось WRC_S; 15.09.2009 в 19:54. |
|
|||||
public class MainLayer extends MovieClip { var MainVar:Number; function MainLayer():void { //Конструктор // Вызывается при создании экземпляра // этой строчкой MainLayer_Provider=new MainLayer() ; trace(MainVar);//trace возвращает здесь NaN // потому что значение MainVar вы присваиваете позже. // потому вас совсем не должно это удивлять } // вот этой строчкой MainLayer_Provider.Provider_Var(MainVar); // вы вызываете эту функцию и присваиваете тем самым // значение переменной. function Provider_Var(PV_Var):void { MainVar=PV_Var; // trace(MainVar) нужно ставить здесь. } }//class |
|
|||||
|
[+6 23.11.09]
|
Цитата:
а addChild(MainLayer_Provider); ты не вызываешь конструктор, а просто дабавляешь уже готовый класс на сцену!!! |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 461
|
Теперь понятно, спасибо.
Но как быть если нужно чтобы в главном классе создавалась переменная, потом передавалась в дочерний мувик, и в конструкторе дочернего мувика эта переменная использовалась. Например трэйсилась. |
|
|||||
|
[+6 23.11.09]
|
зачем в конструкторе трейсеть? ты до создания ребёнка не сможешь в него не чё запихать! создаёшь ребёнка потом пихаешь в него переменную когда надо и всё, потом чтобы отрейсить переменную ребёнке вызывай ещё одну функцию с родителя после таго как запехнёшь переменую. типа как я первый пример привёл!
|
|
|||||
|
|
|
|||||
|
[+6 23.11.09]
|
я иму такую штуку приводил, ему походу надо, сначало создать класс а потом когданибудь когда в главном класе созреет переменнай уже пихнуть в дочерний класс, а не сразу при создании как я понял от него!
|
![]() |
![]() |
Часовой пояс GMT +4, время: 04:37. |
|
|
« Предыдущая тема | Следующая тема » |
|
|