![]() |
Вложенность классов от MovieClip
В основном мувике есть такой код.
Код:
var bgr: Background = Background.Create(this, "back", 0, {});Теперь я его (эти строки) помещаю в конструктор некоторого класса Viewer, который сам будет создаваться в основном мувике таким же способом. Код:
var vwr: Viewer = Background.Create(this, "viewer", 0, {}); |
Класс Viewer от чего наследуется?
|
От MovieClip наследуются все классы
|
Непонятно - а почему нет слова new при создании экземпляра. А вообще у класса MovieClip нет такого свойства Background.Create (), поэтому строчка
Код:
var vwr: Viewer = Background.Create(this, "viewer", 0, {}); |
Может потому что это статик метод?
|
Потому, что Ruffus программирует еще и на Дельфи!!!!!!!:taunt::taunt::D:D
А если серьезно, то похоже Create и есть статический метод. |
Цитата:
чтобы точно сказать, нужно знать что делает Background.Create по-видимому создает в мувике, переданном в первом параметре, пустой мувик и перенаправляет его __proto__ на Background.prototype.. в коде на линейке ты передаешь как this реальный мувик и все получается.. а в коде в классе как this ты передаешь объект, хоть и унаследованный от MovieClip, но не имеющий дисплейного воплощения, т.е. ничего увидеть и не должен.. |
Код:
public static function Create(this_movclip:MovieClip, name:String, depth:Number, init_obj:Object):BackgroundПохоже, что silin прав чуть более, чем полностью. Как быть тогда? Я кстати с трудом понимаю, что делает строка Код:
out_movclip.__proto__ = current_constructor.prototype;Не помогает. |
не очень понятна логика: почему и vwr и bgr в нем ты создаешь с помощью Background.Create..
при этом vwr объявляешь как Viewer.. конструктор Viewer ни разу не исполняется (косяк еще и в этом) если уж задумано так создавать мувики, то и Viewer должен иметь аналогичный метод Create, возвращающий экземпляр Viewer , тогда var vwr: Viewer = Viewer.Create(this, "viewer", 0, {}); сработает (в том смысле что и конструктор будет вызван и на момент вызова конструктора экземпляр уже будет на сцене) PS я в свое время отказался от такого способа в пользу универсальной приспособы для создания мувиков "своего" класса, суть там та же, но все гораздо прозрачнее получается |
Ruffus, надо использовать кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif, а не создавать несколько сообщений подряд.
В ActionScript принято с большой буквы писать только имена классов и интерфейсов, все методы и свойства пишут с маленькой. Поэтому вместо Background.Create правильнее писать Background.create Покажите код классов Background и Viewer полностью. |
| Часовой пояс GMT +4, время: 05:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.