Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.06.2008, 00:16
LokiDi L0ck вне форума Посмотреть профиль Отправить личное сообщение для LokiDi L0ck Найти все сообщения от LokiDi L0ck
  № 1  
Ответить с цитированием
LokiDi L0ck

Регистрация: Oct 2007
Сообщений: 53
По умолчанию Ассоциирование символа вставляемого клипа с пользовательским классом средствами ant

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.
Старый 29.06.2008, 13:53
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не удобнее ли компилить MovieLib в SWC с уже нужным классом этого символа, и подключать этот swc как библиотеку, зачем обязательно вытягивать Embed'ом из swf ?

Старый 29.06.2008, 14:29
LokiDi L0ck вне форума Посмотреть профиль Отправить личное сообщение для LokiDi L0ck Найти все сообщения от LokiDi L0ck
  № 3  
Ответить с цитированием
LokiDi L0ck

Регистрация: Oct 2007
Сообщений: 53
Код:
зачем обязательно вытягивать Embed'ом из swf ?
Флэшер создаёт анимацию - библиотеку с символами movieclip'ов. После чего отдаёт swf кодеру.
Кодер же создаёт управление анимацией символов.
__________________
Новичок

Старый 29.06.2008, 14:31
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Недавно тоже пытались с чем-то похожим разобраться. Я вобщем-то тоже за SWC, но логику понять можно - т.е. не хочется, чтобы дизайнер был зависим от программера (в случае с SWC дизайнеру для компиляции нужны классы связаные с его клипами, или, наоборот, програмеру прийдется компилировать SWC самому из Флеш ИДЕ) недостатки понятны. Единственное, что мне приходит в голову по этому поводу - использовать скинирование. Т.е. нигде не привязывать логику класса к графике. Т.е. самый простой случай: есть класс Кнопка: но он не привязан к клипу в библиотеке, просто при компиляции он вытаскивает из библиотеки 3 мувика "овер", "аут" и "пресс" и использует их для отображения разных состояний. Таким образом дизайнеру не нужен класс Кнопка и он может сам спокойно все скомпилировать, и програмеру не нужно компилировать графические библиотеки. Недостатки - лейауты прийдется делать програмеру (т.как у дизайнера не останется возможности визуально скомпоновать кнопки на форме - у него просто не будет "кнопки").
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 14:41
LokiDi L0ck вне форума Посмотреть профиль Отправить личное сообщение для LokiDi L0ck Найти все сообщения от LokiDi L0ck
  № 5  
Ответить с цитированием
LokiDi L0ck

Регистрация: Oct 2007
Сообщений: 53
wvxvw, не вижу проблем.
Дизайнер может нарисовать мувиклип кнопки, а далее на 4ёх кадрах придать ей разные формы и цвет. Каждому кадру приписать соответствующий label (например mouseover, mouseclick и т.д.).
Прогер же спокойно цепляет символ кнопки, например так:

Код:
[Embed(source="ButtonsLibrary.swf", symbol="MyButton")]
И потом описывает действия:

Код:
[Embed(source="ButtonsLibrary.swf", symbol="MyButton")]
class MyButton extends MovieClipAsset {
     
    //onMouseOverListener подписывается под события мыши
    private function onMouseOverListener(e : MouseEvent) {
        gotoAndStop("mouseover");
    }

    //и так далее
}
Единственная связь между дизайнером и прогером: дизайнер должен сообщить прогеру о именах label.


=============
В связи с чем меня и заинтересовало, можно ли обойтись без тега Embed и все подобные связи описать в build.xml.
__________________
Новичок


Последний раз редактировалось LokiDi L0ck; 29.06.2008 в 14:48.
Старый 29.06.2008, 15:05
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Читайте внимательнее: либо дизайнер не сможет расположить кнопки на форме (т.как то, что он выложит на форму не будет инстансом класса Кнопка - потому что программер назначил ему этот класс), либо ему нужен будет класс Кнопка, для того, чтобы он мог выложить на форму именно кнопку, а не клип из 3х кадров.
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 15:14
LokiDi L0ck вне форума Посмотреть профиль Отправить личное сообщение для LokiDi L0ck Найти все сообщения от LokiDi L0ck
  № 7  
Ответить с цитированием
LokiDi L0ck

Регистрация: Oct 2007
Сообщений: 53
Ок. Понял. Хотя и это можно обойти, в зависимости от требований проекта)

Что насчёт вопроса темы?)
__________________
Новичок

Старый 29.06.2008, 16:39
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 8  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
Цитата:
Сообщение от wvxvw Посмотреть сообщение
либо дизайнер не сможет расположить кнопки на форме (т.как то, что он выложит на форму не будет инстансом класса Кнопка - потому что программер назначил ему этот класс)
как раз может. например, дизайнер связывает кнопки с несуществующими классами Button1 & Button2 и кладёт их на форму с классом Form куда считает нужно. далее программер пишет
Код:
package
{	
	[Embed(source="library.swf", symbol="Button1")]
	public class Button1 extends FormButton {}
}
...
package
{	
	[Embed(source="library.swf", symbol="Button2")]
	public class Button2 extends FormButton {}
}
ну и класс формы аналогично. но в классе формы кнопки надо будет явно объявить, чтобы компилятор учёл вышеобозначенные классы кнопок. это вот например такой замут для "имитации" указания Base Class при компиляции в Flash IDE..

так что вопрос впринципе интересен)

Старый 29.06.2008, 18:19
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 9  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Хм... а разве Флеш не создаст автоматом класс Button1?
__________________
Hell is the possibility of sanity

Старый 29.06.2008, 21:21
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 10  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
ХМ... приду домой - попробую =)
__________________
Hell is the possibility of sanity

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.