![]() |
Создание и подключение библиотеки к проекту.
Доброго всем дня (или ночи :-))
Помогите пожалуйста советом. Планирую написать игрушку используя ActionScript 3 и IDE Flex Builder. Все хорошо с алгоритмической точки зрения, но вот вопрос возник при работе с картинками. Допустим, нарисовал я персонаж игры, кадров 5, которые образуют мультиплекацию. Конечно, если эти картинки хранить в файле на сервере, то я могу их динамически подгрузить в BitmapData: Код AS3:
Просветите начинающего, есть наверное какие-нибудь библиотеки ресурсов или что-нибудь аналогичное, куда можно сохранить и звуки, и картинки. Подключить в проекте эту библиотеку и после компиляции получить SWF файл, включающий в себя все это добро? Если есть, то как работать с этой библиотекой (и чем). |
Ну если просто встроить картинку во Flex Builder можно сделать так:
Код AS3:
Можно все картинки во Flash (в смысле среда разработки) собрать все картинки в одну свфку, закэспортив их для AS, и делать так: Код AS3:
А можно во Flash собрать все картинки, заэкспортить их для экшнскрипта и заэкспортить в SWC, а затем включить в flex Builder. Вот кстати, если бы кто-то сумел бы собрать все директивы компилятора FB собрать и выложить со всеми их параметрами, то было бы круто. Потому что внятного мануала я так и не нашел по ним. Каждый раз приходится что-то выискивать по этому поводу. |
Большое спасибо!
Про ембед не знал раньше. Embeded resources это конечно можно, но тоже не совсем хорошо, потому что картинок можеть быть тьма, и для каждой из них использовать метадирективу embed неудобно. А вот второй вариант с SWC - похоже это правельный путь. |
Цитата:
Код AS3:
|
Спасибо :) Осталось с SWC разобраться. В любом случае, чтобы собрать SWF или SWC надо будет поставить Flash 8 или Flash MX 2004.
|
будьте современнее :)
ставьте хотя бы cs3, ну а вобще уже скоро cs5 будет :) |
Попробую CS4 :)
В чем принципиальные отличия Flash MX 2004, Flash 8, и Adobe Flash CS3, CS4 ? |
а SWC для as2 вобще можно собрать? я если ставлю в настройках проекта as2 - сразу пропадает пункт "export swc"
|
Чего не знаю, того не знаю )
|
Цитата:
|
С метатегом embed разобрался, можно скомпилировать swf и заэмбедить ее в AS3-проект в FB:
Код AS3:
В cs3 создаю символ, делаю linkage, выставляю галочку "Export for AS", прописываю Class (например MyClass) и base class = "flash.display.MovieClip" Далее щелкаю на символ в библиотеке ПКМ и осуществляю "Export SWC to" После чего полученный swc файл я добавляю во вкладку "Library path" в свойствах AS проекта в FB. SWC импортируется, причем если его развернуть и посмотреть что внутри, то увидим Source attachment: (None) Link Type: Megred into code RSL USL: (n/a) Auto extract swf: (n/a) Подскажите пожалуйста, как в коде AS3 можно работать с импортированным только что классом MyClass в SWC ? |
Как и с любым другим - new MyClass ();
|
Цитата:
|
Цитата:
Код будет писаться только в DB, в swf будут только картинки, звуки. Добавлено через 32 секунды Спасибо всем за помощь :) |
Та же ситуация что и выше.
В общем идея такая - рисовать в FlashIDE, компилить и писать код в FlexBuilder. 1. Создал проект в FlexBuilder. 2. В нем создал кастомный класс Hero.as 3. Открыл FlashIDE, создал там мувик, нарисовал что то в нем. 4. Сделал Linkage к классу Hero.as 5. Експортнул в SWC 6. SWC подключил в проект во FlexBuilder (... library path-> Add SWC) 7. В главном классе приложения создал экземпляр класса Hero и сделал addChild Запускаю и ничего не видно. В принципе правильно, так как проект во FlexBuilder знает о классе Hero, экспортированная SWC (из FlashIDE) знает о классе Hero, а класс Hero не знает о SWC и то что в нем есть мувик к которому он приатачен (или наоборот), ну вообщем то что они связаны и потому получается что создается пустой мувик и на экран ничего не выводится. Вопрос - как правильно создавать такие SWC и потом правильно вытягивать из них мувики чтобы они соотносились с правильным классом? Добавлено через 12 часов 5 минут Все вопрос решен. Кому будет интересно пишу ниже. Получилась вот что. Все что сделал описал выше в 7 шагах, а потом что я пронаблюдал: В проекте есть класс Hero который был использован при линковании с мувиком. Вот только после экспорта в SWC FlashIDE вкомпиливает этот класс в SWC и получается что когда мы присоединяем SWC к проекту (в Flex Builder) то у нас на самом деле есть два независимых Hero класса в одном проекте - одни в SWC, а один в самом проекте, да плюс к тому же они имеют одинаковые пакеты. И фишка в том что в таком случае FlexBuilder не выкинул ни какую ошибку мол типа конфликт имен классов или что то такое, поэтому сразу и не понял почему при создании экземпляра Hero не показывался на экране - просто брался класс из проекта (то есть в котором нет никакой графики), а не класс из SWC. И как только я переименовал класс Hero в проекте обнаружил что стал доступен класс Hero из SWC, а до этого среда показывала что есть только один класс Hero (но это и понятно так как не может быть два одинаковых класса в одном пакете). Создал его и все уже отображается. Еще фишка в том что когда попробовал переименовать переименованный класс Hero обратно то среда сказал что не может этого сделать так как в скопах уже есть такой класс. |
Да, я тоже сначало по незнанию создавал зачем-то в AS3 проекте класс с именем, которое указывал в linkage в Flash IDE при экспорте в SWC. Конечно тоже ничего не отображалось)
Сам импорт SWC во Flex подразумевает в себе то, что классы, которые присутствуют в SWC будут описаны и доступны из AS3 во flex'е. |
| Часовой пояс GMT +4, время: 03:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.