|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2007
Сообщений: 368
|
Впрос про область видимости переменных
Приветствую, подскажите пожалуйста, я только начал AS3 изучать и встал вопрос.
Есть супер класс main, и 2 дочерних класса params и down_panel, в params хочу хранить все глобальные переменные, и не могу получить к ним доступа из down_panel params package main { dynamic public class params extends main { public var kol_mat:int = 1; public var mat_size:int=3; } } package main { import main.params; public dynamic class down_panel extends main { public function down_panel() { trace(params.kol_mat); } } } Что я напутал? |
|
|||||
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
проблема в том что params.kol_mat не статичен
если вы хотите обращатся к этим переменным как к статическим то и объявляйте их как статику: |
|
|||||
почитай про модификаторы доступа
kol_mat -свойство экземпляра, а ты пытаешься получить его у класса в этом раскладе нужно в main передавать ссылку на экземпляр класса params и читать его свойства либо сделать свойства params статическими имена классам принято с загглавной давать |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
1. Или сделайте объект класса param (кстати не называйте так имена классов - почитайте конвенции наименований)
2. А зачем у вас они наследуют main? Наверное у вас main ВКЛЮЧАЕТ объекты этих классов, но никак не является прародителем.
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 09.11.2009 в 10:52. |
|
|||||
и уберите dynamic, если не собираетесь делать класс динамическим
__________________
я могу стать всем, если только захочу |
|
|||||
Регистрация: Oct 2009
Сообщений: 14
|
А если, допустим, переменная не в package, а в function?
Как сделать ее доступной, скажем из другого кадра? зы. public static var работает только в пактеах, правильно? а если нет, то 1120: Access of undefined property чего-либо. Добавлено через 3 минуты А если, допустим, переменная не в package, а в function? Как сделать ее доступной, скажем из другого кадра? зы. public static var работает только в пактеах, правильно? а если нет, то 1120: Access of undefined property чего-либо. |
|
|||||
Banned
[+4 25.09.09]
[+1 12.11.09] [+4 12.12.09] Регистрация: Sep 2009
Сообщений: 231
|
локальные переменные в function так и остаются локальными (не доступны извне).. после завершения выполнения функции они будут уничтожены GC'ом
|
|
|||||
Регистрация: Oct 2009
Сообщений: 14
|
Есть ли способ их от туда достать? После того, как я выполняю getProfile, делаю так:
function onComplete(event:Event):void { bdate_txt.text=''; if (loader!=null) { externalXML=new XML(loader.data); var bdate=externalXML..bdate; bdate_txt.text=bdate; bdate_txt.x=490; bdate_txt.y=380; addChild(bdate_txt); var uname=externalXML..first_name+' '+externalXML..last_name; name_txt.text=uname; name_txt.x=410; name_txt.y=360; addChild(name_txt); var photo=externalXML..photo_big; var request2:URLRequest=new URLRequest(photo); photoLoader.load(request2); photoLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded); } else { trace("Error!"); } может быть можно сделать ее глобальной переменной? Последний раз редактировалось ArtDir; 10.12.2009 в 19:01. Причина: уточнял |
Часовой пояс GMT +4, время: 19:08. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|