Просмотр полной версии : Вопрос о видимости переменных
eXplozive
11.01.2008, 13:18
Всем доброго дня. Вот возник следущий вопрос - например пишу в классе:
private function loadImage(){
trace(loadCounter);
_root.onEnterFrame = function(){
trace(loadCounter);
}
}
Переменная loadCounter объявлена заранее, но первый трейс который вне onEnterFrame ее нормально трейсит а в самом onEnterFrame переменную не видно. Подскажите в чем дело.
chingachgoog
11.01.2008, 13:48
а где loadCounter объявлена? в руте?
eXplozive
11.01.2008, 13:57
нет... в классе
что-то типа этого:
class wi.InterfaceBuilder extends MovieClip {
private var loadCounter:Number;
public function InterfaceBuilder(data){
loadCounter=0;
loadImage();
}
private function loadImage(){
trace(loadCounter);
_root.onEnterFrame = function(){
trace(loadCounter);
}
}
}
Методы в методах не пишут.
olexandr
11.01.2008, 14:09
могу ошибиться, конечно, но, по-моему, чтобы переменная была видна таким способом, она должна быть static, а не private и public...
chingachgoog
11.01.2008, 14:21
А как же рут увидит var, да еще и private?
private var loadCounter:Number;
CrazyFlasher
11.01.2008, 15:25
import mx.utils.Delegate;
class wi.InterfaceBuilder extends MovieClip {
private var loadCounter:Number;
public function InterfaceBuilder(data){
loadCounter=0;
loadImage();
}
private function loadImage(){
trace(loadCounter);
_root.onEnterFrame = Delegate.create(this, traceMe);
}
private function traceMe(){
trace(loadCounter);
}
}
а так?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.