Показать сообщение отдельно
Старый 15.07.2008, 15:32
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 20  
Ответить с цитированием
chingachgoog
Banned
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от crazyone Посмотреть сообщение
Цитата:
Сообщение от chingachgoog
Не совсем так. Нам не нужно возращать объект класса (т.е. получать на него ссылку). Мы создаем мувиклип, который и будет являться экземпляром этого класса
Понимаете, конструктор в любом случае возвращает объект класса, если я ничего не путаю.
Разумеется оператор new возвращает ссылку на экземпляр класса. Но ссылка эта нигде не запоминается и по идее уборщик мусора этот объект должен убить.

Цитата:
Сообщение от crazyone Посмотреть сообщение
Т.е. при вызове
Код:
new MyClipClass(myObj, data1, data2,...)
создастся два объекта, один из них нам совершенно не нужен. И именно он будет занесен в массив при вызове
Код:
var myArray:Array = [];
myArray.push(new MyClipClass(myObj, data1, data2,...)
Два объекта - да: собственно объект класса - он нам не нужен и он скорее всего будет убит сборщиком мусора.
Второй объект - собственно мувиклип, который нам и нужен.
Что касается занесения имени мувиклипа в массив, то нет ничего проще, просто надо понять для чего это надо? А я этой авторской задумки пока не понимсаю.

Цитата:
Сообщение от crazyone Посмотреть сообщение
А на тот, который нам нужен, будет указывать myObj.
Что нам и надо. Ч.Т.Д. так сказать.

Цитата:
Сообщение от crazyone Посмотреть сообщение
По поводу того, что нам не нужно получать на него ссылку — не стоит забывать, что во флеше все переменные, кроме примитивных, являются ссылками, т.е. myObj - ссылка на созданный в конструкторе объект класса.
нам не нужна ссылка возращаемая оператором new, если вы за точность фразы , т.к. по этой ссылке будет проблематично выполнить искомый метод +=10

Цитата:
Сообщение от crazyone Посмотреть сообщение
Мне кажется, что сделать полноценный конструктор для класса, унаследованного от MovieClip не получится. В AS2. Потому я и использую статические методы.
Почему не получиться? AVM1 (AS1 в частности) позволяет легко любому объекту (например, мувику на стейдже) стать экземпляром любого класса в любое время.