![]() |
Stage в классах
Объект stage не виден внутри внешних классов (*.as файлы). Как при помощи import дать классу понять, что это такое?
В импорте написано: Код AS3:
P.S.: Если писать не somePalce.addChild(...), а просто addChild(...), куда Flash "положит" объект? |
Передать ссылку, как вариант.
Флеш положит объект внутрь того объекта, который вызовет метод addChild. |
Просто нужно слушать событие Event.ADDED_TO_STAGE, тогда стейдж будет доступен. Еще возможно стейдж не виден, если Вы не наследуетесь от DisplayObject. В общем лучше выложите кусочек кода. Зачем гадать?
|
Ну это если сам экземпляр добавляется на stage.
|
К примеру, метод становится нерабочим, если в нём написать следующее:
Код AS3:
Код AS3:
|
Наличие строки с импортом вовсе не значит, что объект stage доступен.
Импорт нужен для того, чтобы подсказать компилятору какой именно класс Stage вы используете - из пакета flash.display. Вам никто не мешает написать свой класс Stage и положить его в другой пакет. Тогда прописав другой импорт вы сможете использовать свой класс. |
Halfist, ну не виден stage, если экземпляр не добавден на сцену.
Цитата:
От чего вообще ваш класс наследуется? |
У вас не будет доступна ссылка на stage, хоть вы 10 импортов сделайте, если вы не добавили экземпляр на сцену или не передали ссылку на нужный стейдж экземпляру класса.
|
Класс наследуется от MovieClip. Как передать ссылку на stage в конструктор?
|
Как-то так:
Код AS3:
|
А addChild() по-умолчанию "лепит" объект на stage?
|
нет, на себя
|
Код AS3:
|
В основном классе приложения даем (Main)
Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 17:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.