![]() |
Подгрузить внешний класс
Здравствуйте!
В данный момент занимаюсь переделыванием однго проекта на AS2 в AS3, попутно модернизируя. Проблема следующая: нужно сделать в данном проекте модульность, то есть чтобы в случае правки или добавления какого-ибо элемента достаточно было подменить только один SWF-файл. Код:
.\Main.swf- Возможно ли такое на AS3? - Как правильно присоединить вынести класс с графикой во внешний файл? - Как правильно с ним работать так, чтобы и класс имел доступ к основному мувику, и наоборот - мувик имел доступ к методам класса. Знаю, где-то мелькало что-то подобное, поиском пользовался, не нашел! |
1) Да;
2) Непонятен вопрос; 3) Интерфейсы. |
Цитата:
Цитата:
типа LocalConnection или я смогу обращаться к ним как Код:
/* |
Узнайте, что такое интерфейс.
Вопросы отпадут. И про applicationDomain.getDefinition. |
Большое спасибо, с подгрузкой разобрался, конструктор класса подгружаемого объекта выполнился. А вот с функциями проблема:
Код:
TypeError: Error #1006: myFunction is not a function.Простите за неграмотность, просто приходится переделывать проект где весь код в кадрах, нет никаких классов итп, написанный по 7 плеер, трудновато попутно учить AS3. Благо временем почти не ограничен |
Я не знаю, что вы делаете для получения подобной ошибки. Но явно что-то не так.
|
В загрузчике
Код:
var a:Class = info.applicationDomain.getDefinition("SquareClass") as Class;Код:
package {Имя Эдемента в библиотеке : MyExpSymbol Class = SquareClass BaseClass = MyExpSymbol |
Так «a» — это не экземпляр класса, а сам класс. У класса нет такого метода.
|
Блин точно. Извините, туплю.
Поправился : Код:
var a:Class = info.applicationDomain.getDefinition("SquareClass") as Class;Так зачем же нужен Interface, я так и не понял. По-сути, как я понял, это аналог .h (header) - файла в C., то есть попросту описывает, что можно из содержимого класса юзать? Где его конкретно применять так и не понял. :( |
FilimoniC, не надо сообщать о каждом вашем шаге отдельным постом, когда хотите что-то добавить, используйте кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif и редактируйте последнее сообщение.
Интерфейсы описывают, какие свойства обязаны быть у класса для корректной работы. |
В вашем случае без них обращение к свойствам подгружаемого модуля будет выдавать предупреждение, типа потенциально не существующее свойство/метод.
|
Не могу разобрать никак...
Main.as: Код:
packageКод:
package1045: Interface IPLoggerExtender was not found. 5006: An ActionScript file can not have more than one externally visible definition: IPloggerExtender, PLoggerExtender |
Интерфейс должен быть в отдельном файле IPloggerExtender.
В блоке package { … } может быть только один видимый класс. |
| Часовой пояс GMT +4, время: 09:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.