![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Подскажите, я новичок в as3, как можно из динамического класса увидеть то, что лежит на сцене, или каким образом создавать персонажа.
У меня есть главный класс MainClass, он вызывает Класс Personage имеет вид package main { import flash.display.Sprite; import main.MainClass; import flash.display.Graphics; import flash.display.MovieClip; public dynamic class Personage extends MovieClip { public function Personage() { trace(MainClass.getChildByName('myBody')); //хотя бы обратиться к myBody! } } } Я наверное запутался и всё не так делаю. Подскажите пожалуйста, как можно разрешить эту проблему? Последний раз редактировалось iNils; 02.12.2008 в 13:10. |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 205
|
Надо не из конструктора, а в методе который срабатывает по ENTER_FRAME
|
|
|||||
|
подскажите, как можно это сделать?
|
|
|||||
|
Modus ponens
|
Судя по импорту MainClass - это Class, а не DisplayObject, у него нету метода getChildByName(). Нужно получить ссылку на созданый экземпляр MainClass и искать ребенка у него.
__________________
Hell is the possibility of sanity |
|
|||||
|
wvxvw, а как можно получить ссылку на созданный экземпляр MainClass?
|
|
|||||
|
strange mood
|
Вы добавили персонаж на сцену, и теперь можете спокойно добавлять руки-ноги внутрь персонажа, не надо для этого обращаться к родительскому клипу.
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Modus ponens
|
А вы его не можете создать не получив ссылки
Вот только я не знаю где и как вы его создаете. Т.е. предположим, создаете вы его так:var mainClass:MainClass = new MainClass(); тогда mainClass и new MainClass() - это и есть ссылки.
__________________
Hell is the possibility of sanity |
|
|||||
|
Если я правильно понял, то вам нужен тако код:
package main { import flash.display.Sprite; import main.MainClass; import flash.display.Graphics; import flash.display.MovieClip; public dynamic class Personage extends MovieClip { private parent_main:MainClass = new MainClass(); public function Personage(parent_m) { parent_main = parent_m; //сохраняем переданную ссылку на родителя trace(MainClass.getChildByName('myBody')); //хотя бы обратиться к myBody! } } } Но это неправильно, как вам уже сказали выше, с точки зрения ООП (класс - это закрытая структура).
__________________
http://erinphoto.ru/ |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
О боже мой, а события ADDED и ADDED_TO_STAGE применять уже не модно?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:50. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| конструктор динамический |
|
|