![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
Здравствуйте, подскажите пожалуйста как создать переменную что бы её видели все пакеты, все классы.
Жизненно важно иметь возможность всем классам в проекте иметь доступ к одним и тем же данным и при необходимости изменять их. Заранее благодарю за разъяснения. Добавлено через 25 минут Конечно, удобнее использовать Объект для этих целей и в нем хранить нужную мне информацию. Но объект надо инициализировать (var obj = new Object) и сделать это надо за пределами всех пакетов, всех классов. А там не где, я проверял, ошибки..... |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
Я делаю так
главный класс: package { import flash.display.MovieClip; public class Desktop extends MovieClip { public function Desktop () { } } } //AS3 позволяет определять несколько классов в одном файле class Test { public var test = '34'; } Во втором пакете: Последний раз редактировалось petav; 28.12.2008 в 12:39. |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 14
|
тут глянь и на уровень выше, возможно чтото интересное наёдёшь (если не видел ещё) http://shaelf.ru/book/flash_tips/tips84.html
надо статик |
|
|||||
|
Регистрация: Dec 2008
Сообщений: 67
|
Выход найден
, опять же на xpoint.ru подсказали:package apetrov { public class Singleton { private static var __instance:Singleton; private static var __allowInstantiation:Boolean = false; public static function get instance():Singleton { if(!__instance) { // Разрешаем создание экземпляра класса. __allowInstantiation = true; // Создаем экземпляр. __instance = new Singleton(); // Запрещаем создание экземпляров. __allowInstantiation = false; } return __instance; } /* * Конструктор. */ public function Singleton() { if(!__allowInstantiation) { throw new Error("Вы не можете создавать экземпляры класса при помощи конструктора. Для доступа к экземпляру используйте Singleton.instance."); } } /* * Все остальное */ private var s:String = ''; public function test (name) { s=s+name; return s; } } } Этот код через Singleton.instance.* всегда возвращает ссылку на один и тот же объект. Оказывается это очень известная техника в ООП. Надеюсь этот пост кому нибудь еще поможет .Последний раз редактировалось petav; 29.12.2008 в 00:27. |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 100
|
я делаю так:
файл Globals.as someVar и someFunc() видны из любой точки по иненам Globals.someVar и соответственно Globals.someFunc() |
|
|||||
|
Кстати говоря...
Есть у меня великий класс BigClass. И настолько он велик, что детей своих плодит ChildClass... но так уж случилось, что постоянно меняется переменная, которая обрабатывается каждый из ChildClass`ов, но переменная эта храниться в BigClass. Как лучше её передавать? По ссылке циклом по запросе ребенка? Через parent? Как правильно?
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|