Показать сообщение отдельно
Старый 08.04.2013, 10:52
Александр Мостовой вне форума Посмотреть профиль Отправить личное сообщение для Александр Мостовой Посетить домашнюю страницу Александр Мостовой Найти все сообщения от Александр Мостовой
  № 5  
Ответить с цитированием
Александр Мостовой
 
Аватар для Александр Мостовой

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Цитата:
Впрочем, последний финт я не очень понимаю.
Потому что, мне казалось, что публичная переменная должна быть видна отовсюду, с прямым обращением...
А вот эта вот рут-строка, похожая на какой-то анахронизм оставшийся из AS2...
Свойство то и остается публичным, но вот вот ссылки на экземаляр класса у вас просто нет, для ее получения и используется рут, что, безусловно, есть анахронизм AS1.

У вас 4 сопсоба получения ссылок на объекты и экземпляр Main класса в том числе.
1. Передавать ссылку на main (или другие объекты) в конструкторе.
Код AS3:
var myInnstance:MyClass = new MyClass(main);
Этот метод не годится для клипов на сцене, так как в этом случае конструктор запускает сам флеш встроенными методами. А для реализации кода на фреймах флеш создает виртуальные классы, доступа к конструкторам которым у вас нет.

2. Делать метод init(main) публичным и вызвать извне. Это тоже что и 1, но позволяет передать пареметры обхектам выложенным на счене

3. Использовать наивгацию DisplayObject. parent, root - самый неудачный метод т.к. зависит от положения клипа на сцене, применим только для наследников DisplayObject и только для тех кто добавлен на сцену. Анахронизм AS1

4. СИнглетоны и статические методы. На ряду с 1 самый распространенный способ получения ссылок на объекты


На счет public var k1Value:Number = 0;
Приватные методы и переменные придумали не для того что бы усложнить себе жизнь, а для того что бы освободить себе голову. Старайтесь постепенно уходить от использования публичных переменных, т.к. что бы отследить где и кто ее меняет необходимо держать в голове целый часовой механизм. Если вам она нужна на чтение то лучше поставьте readonly свойстов (getter+ приватная копия с подчеркиваним)
__________________
...