![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Обнаружилось случайно.
Это нормальное поведение или так лучше не делать? class class1 extends MovieClip { var ob:Object = new Object(); var txt:TextField; function class1() { if (ob.name == undefined) ob.name = 'halo' else delete ob.name; txt.text = ob.name; if(ob.clips == undefined) ob.clips = new Array(); var count = ob.clips.push(this); trace(count); if(count == 3) ob.clips[0].txt.text = 'Я могу тебя удалить'; } } |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
class class1 { var ob:Object = new Object(); //на практике я обнаружил, что такое выражение делает переменную статичной, хотя так, по идее, не должно быть. поэтому так лучше не делать. static var ob1:Object= new Object(); // если хотите использовать одну переменную на весь класс - объявляйте так. (в этом случае инициализация уместна) function class1() { // ... } } Последний раз редактировалось Stargazer; 09.05.2009 в 17:12. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Mnilionic, это проблемы реализации классов в AS2, лучше не объявлять сложные типы данных вне методов класса.
|
|
|||||
|
то есть так верно:
понятно. Всем спасибо. Последний раз редактировалось Mnilionic; 09.05.2009 в 21:18. |
|
|||||
|
Регистрация: Nov 2008
Сообщений: 528
|
Верно. Это статическая переменная. Она создаётся один раз на весь класс и доступна в контексте класса (а не экземпляра).
|
![]() |
![]() |
Часовой пояс GMT +4, время: 10:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|