![]() |
Глобальное свойство
Допустим у меня есть класс в котором хранятся ссылки на экземпляры других классов. Чтобы пользоваться этими ссылками надо в каждый класс в котором они хранятся написать
Код AS3:
А вопрос вот в чем можно ли как-то объявить эту переменную(ref) на уровне пакета чтоб не загромождать код этими строками(т.к. классов(небольших правда) будет около 50)???? |
Код AS3:
|
Можно в классе Ref пометить все ссылки как static и пользоваться ими из любого места:
Код AS3:
А еще есть синглтон. |
у меня итак в Ref все экземпляры объявлены статическими(точнее переменные в которых они храняться), но не известно по какой причине я не могу обратиться к этим переменным из других классов(а я обращаюсь - Ref.primer) без приведенной в первом сообщении строки
Добавлено через 1 минуту Цитата:
|
Цитата:
Цитата:
|
а нужно делать импорт если все в одном пакете??
|
Нет. Но тогда остается загадкой, почему не получается обратиться к статическому полю класса указанным ранее образом. Код бы посмотреть. Твоего Ref, твоего обращения.
|
Вот Основной класс
Код AS3:
а вот сам Ref Код AS3:
выводит кстати в аутпат вот это Конструктор основного класса Application undefined TypeError: Error #2007: Parameter child must be non-null. at flash.display::DisplayObjectContainer/addChild() at p::Application$iinit()[C:\Users\Михаил\Documents\biolog8\src\p\Application.as:12] Добавлено через 6 минут если я добавляю строку Код AS3:
|
Естественно Вы же нигде ни разу не создали экземпляр класса, в конструкторе которого и инициализируются статические переменные. Либо где нибудь один раз напишите
Код AS3:
Код AS3:
Код AS3:
|
Код AS3:
|
я знаю что так не надо делать, но мне легче отличать из-за _
Добавлено через 59 секунд TypeError: Error #1009: Cannot access a property or method of a null object reference. at p::Glava0$iinit()[C:\Users\Михаил\Documents\biolog8\src\p\Glava0.as:34] at p::Ref$cinit() at global$init()[C:\Users\Михаил\Documents\biolog8\src\p\Ref.as:5] at p::Application$iinit()[C:\Users\Михаил\Documents\biolog8\src\p\Application.as:11] я все сделал как вы и сказали но возникла ошибка |
Ну ошибка видимо в Glava0 на 34 строке. А, что там, никто понятия не имеет.
|
Чую обращение к stage в конструкторе )
|
неа я убрал все обращения к stage уже давно))))
Добавлено через 1 минуту а там(как раз и назначение этих ссылок) переменная Ref._glav1 передается в конструктор как параметр. Я над этим тоже дума можно это или нет но остановился все таки на МОЖНО Добавлено через 3 минуты Код AS3:
а stage я убрал потому что я все равно ничего толкового от нее не дождался |
Зачем же такое делать? Стоило ли делать ссылки статическими, чтобы потом передавать их в качестве аргументов? 0о
|
тогда как мне сделать
|
Ок. Полагаю, вопрос про статические поля/методы исчерпан. Остальное выходит за рамки как темы, так и, мне кажется, здравого смысла =)
Цитата:
|
да кстати я и сам забылся можно ли все таки как-нибудь объявить переменную на уровне пакета, на подобии _global.primer в AS1
|
| Часовой пояс GMT +4, время: 12:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.