![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Привет!
Потихоньку вникаю в тонкости написания классов, никак не могу понять следующее: Почему в ф-ции основного класса, которая вызывается по событию, нельзя увидеть экзепляр другого класса и его метод, хотя он создается в ф-ции-конструкторе и там виден? Я пробую так: public class main extends Sprite {
public function main () {
var myChar:charBoy = new charBoy();
this.addChild(myChar);
addEventListener (Event.ENTER_FRAME, onEnterFrame);
myChar.x += 5; //работает
}
private function onEnterFrame (event:Event):void {
myChar.charMove(); //не работает
myChar.x += 5; //работает //не работает
}
}
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
Потому что myChar - локальная переменная.
Ее область видимости - конструктор main. |
|
|||||
|
а как сделать экземпляр myChar доступным в пределах всего конструктора main?
__________________
Платон мне друг, но истина в вине. |
|
|||||
|
Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
|
|
|
|||||
|
Регистрация: Dec 2008
Сообщений: 6
|
Доброго времени суток! Примажусь к теме с вопросом по видимости, чтобы не плодить темы сверх необходимости) :
Использую movieclip, слинкованный с классом. Среди прочего на нем есть ColorPicker, который хочу использовать и для долгосрочного хранения цвета. В конструкторе ColorPicker'у присваивается некий цвет (ColorPicker.selectedColor), к которому позднее обращаюсь. Вот конструктор: public function Item(RawData:Object, i:Number):void { //тут всякое.. потом CP.selectedColor = Math.floor(Math.random()*0xFFFFFF); //Отсюда и до конца конструктора CP.selectedColor выдает 0, хотя ColorPicker красится // и выбирает рандомный цвет trace(CP.selectedColor) // - 0; } selectedColor : 0; _selectedColr : (нормальный цвет uint) Если обратиться к CP.selectedColor позже, уже не из конструктора, то возвращается цвет, и в дебагере обе переменные равны. Думаю, в конструкторе можно просто создать вспомогательную переменную с рандомым цветом в начале и пользовать ее. Но хотелось бы узнать, отчего такое происходит, и что означают дублирующиеся свойства объекта с подчеркиванием. Господа, подскажите, пожалуйста. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|