![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 53
|
1) Создаём в flash cs3 - Flash File.
Далее создаём символ (MovieClip), убираем его с Stage (оставляем только в библиотеке). Щёлкаем правой кнопкой мыши по MovieClip'у, выбираем Linkage, вбиваем имя класса TestMovie (в base class: flash.display.MovieClip). Жмём ок. Далее File -> Publish (сохраняем swf под именем MovieLib). Закрываем flash cs3. 2) Открываем например fdt. Создаём проект. Чтобы ассоциировать свой класс с нужным нам символом, пишем: [Embed(source="MovieLib.swf", symbol="TestMovie")]
public class MyTestMovie extends MovieClipAsset {}
Вопрос заключается в следующем. Можно ли включить MovieLib.swf в конечный swf проекта при этом указав, что символ TestMovie должен быть ассоциирован с таким то классом в проекте средствами ant? Т.е. в итоге избавиться от тега Embed в коде самого класса. В документации: http://livedocs.adobe.com/flex/3/html/ просмотрел разделы о компиляторах, их опциях, и flex ant. Ответа не нашёл.
__________________
Новичок Последний раз редактировалось LokiDi L0ck; 29.06.2008 в 00:18. |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 53
|
Флэшер создаёт анимацию - библиотеку с символами movieclip'ов. После чего отдаёт swf кодеру.
Кодер же создаёт управление анимацией символов.
__________________
Новичок |
|
|||||
|
Modus ponens
|
Недавно тоже пытались с чем-то похожим разобраться. Я вобщем-то тоже за SWC, но логику понять можно - т.е. не хочется, чтобы дизайнер был зависим от программера (в случае с SWC дизайнеру для компиляции нужны классы связаные с его клипами, или, наоборот, програмеру прийдется компилировать SWC самому из Флеш ИДЕ) недостатки понятны. Единственное, что мне приходит в голову по этому поводу - использовать скинирование. Т.е. нигде не привязывать логику класса к графике. Т.е. самый простой случай: есть класс Кнопка: но он не привязан к клипу в библиотеке, просто при компиляции он вытаскивает из библиотеки 3 мувика "овер", "аут" и "пресс" и использует их для отображения разных состояний. Таким образом дизайнеру не нужен класс Кнопка и он может сам спокойно все скомпилировать, и програмеру не нужно компилировать графические библиотеки. Недостатки - лейауты прийдется делать програмеру (т.как у дизайнера не останется возможности визуально скомпоновать кнопки на форме - у него просто не будет "кнопки").
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 53
|
wvxvw, не вижу проблем.
Дизайнер может нарисовать мувиклип кнопки, а далее на 4ёх кадрах придать ей разные формы и цвет. Каждому кадру приписать соответствующий label (например mouseover, mouseclick и т.д.). Прогер же спокойно цепляет символ кнопки, например так: И потом описывает действия: [Embed(source="ButtonsLibrary.swf", symbol="MyButton")]
class MyButton extends MovieClipAsset {
//onMouseOverListener подписывается под события мыши
private function onMouseOverListener(e : MouseEvent) {
gotoAndStop("mouseover");
}
//и так далее
}
============= В связи с чем меня и заинтересовало, можно ли обойтись без тега Embed и все подобные связи описать в build.xml.
__________________
Новичок Последний раз редактировалось LokiDi L0ck; 29.06.2008 в 14:48. |
|
|||||
|
Modus ponens
|
Читайте внимательнее: либо дизайнер не сможет расположить кнопки на форме (т.как то, что он выложит на форму не будет инстансом класса Кнопка - потому что программер назначил ему этот класс), либо ему нужен будет класс Кнопка, для того, чтобы он мог выложить на форму именно кнопку, а не клип из 3х кадров.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Oct 2007
Сообщений: 53
|
Ок. Понял. Хотя и это можно обойти, в зависимости от требований проекта)
Что насчёт вопроса темы?)
__________________
Новичок |
|
|||||
|
Цитата:
package
{
[Embed(source="library.swf", symbol="Button1")]
public class Button1 extends FormButton {}
}
...
package
{
[Embed(source="library.swf", symbol="Button2")]
public class Button2 extends FormButton {}
}
так что вопрос впринципе интересен) |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|