![]() |
Определить класс мувиклипа
Как программно определить класс мувиклипа, т.е. название символа в библиотеке?
Например, мне надо зная класс одного мувиклипа из множества расположенных на сцене, заменить его на другой, соответствующий определенному классу. P.S. По имени мувиклипа этого сделать в данном случае невозможно... |
что значит "класс мувиклипа" ?
мувиклип принадлежит 'классу' отличному от класса MovieClip только если было действие Object.registerClass для линкейджа, установленного для этого клипа в библиотеке... если речь идет именно о таких классах, то можно узнать о принадлежности объекта классу одним из вариантов: (clip.__proto__ == Class.prototype) (clip.constructor == Class) (clip instanceof Class) а название символа в библиотеке не узнать... никак. только если вписать ручками переменную с названием символа в клип |
А это не подходит?
Код:
Object.oldRegisterClass = Object.registerClass; |
это канеш круто, только похоже автор уже передумал =)
не подает признаков жизни... и потом я что-то не вижу каким образом твой код помогает решить вопрос с определением класса (холтя мы по-прежнему не знаем что все-таки хотел узнать автор :)) ) ты записываешь в registeredSymbols какой линкейдж какому прототипу соответствует... не понятно - зачем ?.. у тебя на сцене есть клип, у которого в библиотеке есть линкейдж и для которого зарегистрирован класс... как ты узнаешь линкейдж этого клипа чтобы подставить в registeredSymbols[symbol] и получить прототип ? тогда уж все проще можно сделать - клип.constructor - это ссылка на создавшую его функцию... то есть либо на функцю MovieClip, либо на функцию Какой_то_класс... клип.__proto__ - это ссылка на Какой_то_класс.prototype ... и не надо ничего городить дополнительно :) но все равно не понятно зачем... =) если так уж нужно получить имя класса, то его можно вписать в прототип класса как рид-онли свойство и оно будет наследовано всеми объектами-представителями... чего тут еще придумывать-то ? :) |
Спасибо за ответы. Я вообще то нашел намного более простой путь в решении своей задачи чем определение класса, но почитать то что вы пишете интересно.
Извините за неопределенность вопроса - я лучше разбираюсь в Delphi & C++, чем во флеше, а там немного другая терминология, к которой я привык... А хотел я определить name символа, который задается в New Symbol или же Identifier в Linkage для размешенного на Stage Instance'а |
Цитата:
...то есть можно, конечно, сделать тупо - переменную в клипе, которая будет содержать это имя... но по-другому получить имя _в библиотеке_ не получится. с линкейджем абсолютно то же самое. так что нужно выкручиваться по-другому... скажем, ввести определенную систему именования клдипов на сцене - чтобы, к примеру, инстанс нейм клипа содержал в себе эти сведения... если это не удобно - то что-нибудь другое придумывать... вариантов масса :) |
| Часовой пояс GMT +4, время: 07:41. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.