![]() |
|
||||||||||
|
|||||
|
Здравствуйте, вот такой назрел вопросик: чтобы поместился клип в swc-библиотеку, ему нужно создать класс. При этом в этом классе, по идее, уже должен быть код-поведение этого клипа. А если нужно просто поместить клип в swc-библиотеку без класса, а сам класс создать в FD с нуля?
Обычно я делал так: создавал пустышку-класс, а класс, написанный с нуля в FD, я делал расширяющим этого класса-пустышки. И вот что-то мне подсказывает, что это нерационально и по меньшей мере странно. Скажите, пожалуйста, как правильно нужно делать? |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Кто сказал? Создавайте в библиотеке объект, ставьте галку Export for ActionScript и пишите название класса, я обычно пишу что то вроде SWCMyClass, и дальше уже в FD создавайте MyClass и расширяйте его от SWCMyClass.
|
|
|||||
|
Регистрация: Sep 2004
Сообщений: 90
|
Так можно сразу делать полноценный, связанный с клипом, класс.
|
|
|||||
|
Modus ponens
|
В таком случае оптимально просто в FD содать класс с таким же именем. У AS файлов есть приоритет при компиляции над SWC, так что все-равно ресурс прилинкуется к вашему классу а не к тому, что в SWC.
Но это может быть чревато в смысле, если там мувиклипы и у них анимация и т.п. Линкер может некорректно это все дело перелинковать. А вообще, как минимум, класс-пустышка все-равно будет. Технически вы можете запихать просто ресурс в SWF, но, для всего прочего кроме шрифтов, это немного бессмысленно т.как потом будет проблематично вытащить из ассембли. Т.е. чтобы как-то получить картинку, например, вам нужно ее прилинковать к классу-наследнику BitmapData / Bitmap. Так вы ее сможете создать и чего-нибудь с ней сделать. А если не прилинковать, а просто сохранить ресурс картинки, то вы получите набор байтов описывающий картинку в какой-то разновидности JPEG формата и будете долго думать, как бы ее трансформировать во что-то, что Флеш сможет "переварить".
__________________
Hell is the possibility of sanity |
|
|||||
|
2 Vier: тогда придется писать класс во Flash IDE или в FD вкупе с Flash IDE на фоне, дабы скомпилировать swc с этим классом. Даже с минимальными изменениями. Я же сейчас перешел полностью на FD и пытаюсь выжать максимум удобства.
2 wvxvw: спасибо за ответ. Все же без класса-пустышки не обойтись. Тогда встает другой вопрос - сильно ли много занимает памяти класс-пустышка с расширяющим его классом относительно одного класса, расширяющего MovieClip? |
|
|||||
|
КорДум
Структура такая: /src/controls/MenuButton.as /libs/fla/projectname.fla /libs/fla/projectname.swc Во fla-файле указываешь добавляешь путь (classPath или sourcePath как он там называется) ../../src, чтобы он видел твою src папку. Рисуешь символ кнопки, выставляешь у неё class: MenuButtonAsset(или как тебе удобнее), base class: controls.MenuButton[*]. Компилишь swc, подключаешь к проекту. Теперь при изменении класса controls.MenuButton перекомпилировать swc НЕ ОБЯЗАТЕЛЬНО, mxmlc как-то хитро "соединит" классы MenuButtonAsset из swc и изменённый controls.MenuButton. Такой метод лучше, чем расширять класс с кодом от класса с графикой, как вам там выше советовали, потому что этим способом можно иметь разные графические элементы с одним функционалом (т.к. они все наследуются от одного класса). [*] Если вдруг в процессе работы надо будет перекомпилировать swc, а в базовых классах будет что-то такое, что флеш не может так сразу скомпилить (аировские или флексовые фишки) ИЛИ fla отдали дизайнеру на изменения и он компилирует на своём компе, у которго нет всех этих классов, то можно создать базовые классы-пустышки в /libs/fla/, вот я накидал jsfl для автоматизации этого дела. |
|
|||||
|
На гугле забанили чтоли?)
http://help.adobe.com/en_US/Flash/10...4f3f-7fe8.html |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:41. |
|
|
« Предыдущая тема | Следующая тема » |
|
|