Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   алгоритм взаимодействия дизайнера с кодером (SWC+FD) (http://www.flasher.ru/forum/showthread.php?t=148925)

JackFromChaos 14.01.2011 22:06

Цитата:

Сообщение от udaaff (Сообщение 964706)
Не очень удобный вариант - наследовать графику от логики. Любые изменения в таком коде, будут порождать необходимость пересборки swc. Лучше композицию использовать.

Не графику от логики, а логику от графики. В результате пересобирать swc в 99% случаев приходится только если изменилась графика.
Кроме того никто не мешает тут и MVC сделать. Просто тогда от графического символа из swc наследуется View... Дальше уже, кто как свой view делает, не об этом сейчас:)

Хотя тут могут быть и другие, куда более замысловатые варианты... В частности сейчас размышляю о варианты, когда во flash применяются некоторые простые классы, которые прописываются в качестве базовых, и на базе своих имен шлют команды контроллеру. При таком раскладе view можно целиком собирать во flash. А контроллер и модель уже в FD. Но тут есть свои подводные камни... Может быть я как нибудь опишу это в блоге...

udaaff 14.01.2011 22:23

Цитата:

Обычно после этого я наследуюсь от сцены
Упустил этот момент.

fljot 15.01.2011 05:42

Цитата:

Сообщение от udaaff (Сообщение 964706)
Не очень удобный вариант - наследовать графику от логики. Любые изменения в таком коде, будут порождать необходимость пересборки swc. Лучше композицию использовать.

вполне себе удобный
http://www.flasher.ru/forum/showthre...924#post957924

mikhailk 15.01.2011 12:18

В декабре делал простенькое приложение (комнату подарков) и неожиданно наткнулся на достаточно комфортный способ работы с дизайнерами. Собрал приложение в виде прототипа (вся графика - 100% во fla), сам расставил все нужные мне классы, маски, инстанснеймы, потом отдал fla дизайнерам, они поставили туда всю необходимую графику и вернули мне. Я немного подработал напильником (кое-где они, конечно, накосячили) и все заработало.

Относительно того, чтобы получать от дизайнеров swc - я в это не верю. Как проводить входной контроль?

flax4Noob 15.01.2011 12:43

Цитата:

Как проводить входной контроль?
держать дизайнера за яй... шею во время компиляции и преданно смотреть ему в глаза.

JackFromChaos 15.01.2011 15:26

Цитата:

Сообщение от fljot (Сообщение 964784)
вполне себе удобный
http://www.flasher.ru/forum/showthre...924#post957924

Да, но как раз здесь есть ньюансы... Точнее сказать - глюки flash которые могу вылести очень неприятным боком... Заключаются они в следующем.
Если у нас есть символы внутри которого есть другие именованные символы, и для этого символа прописан пользовательский класс, то flash как бы модифицирует этот класс добавляя в него public переменные с именами вложенных классов.
Причем есть в символе прописан просто класс, то он добавляет их прямо в него.
Но, если мы прописываем несуществующий класс(что бы он сам сгенерился), а в качестве базового – наш, то переменные почему то создаются не в этом новом классе, а в нашем классе, который мы прописала как базовый. И тут начинаются проблемы(проверено во CS4, CS5). Проявляется они могут по разному, но они проявляются, можете мне поверить...:(
Пока я нашел только один способ с этим бороться. Создавать отдельный класс для символов, и наследовать его от того, что нам нужно. Т.е. не пользоваться свойством base class(если этот класс не стандартный).
С одной стороны – не очень удобно. Но я для себя проблему решил, написав плагин для flash(панель на flash+MMExecute+JSFL).

fljot 15.01.2011 15:38

Цитата:

Сообщение от JackFromChaos (Сообщение 964819)
Да, но как раз здесь есть ньюансы... Точнее сказать - глюки flash которые могу вылести очень неприятным боком...

Что-то я не могу понять. Можете сделать проблемный пример?

КорДум 15.01.2011 15:40

Может быть немного не в тему. Мне присылают fla-файл с только векторной графикой, растром, все разбито по слоям. Есть клипы, они как правило с фильтрами или имеют полупрозрачные модификаторы с сиянием и прочим. Вот мне приходится все оборачивать в клипы, давать идентификаторы, чтобы можно было вытащить из библиотеки, и опционально класс (я сейчас говорю про as2). Далее создается пустой символ-контейнер (аналог класса Main в as3), к нему присоединяется класс и все пишется уже в нем, весь код и вся логика. Мой пример иллюстрирует полностью ручной парсинг элементов, запись координат на листок и последующее размещение кодом. Вот так. Так что, нам не привыкать ;)

JackFromChaos 15.01.2011 16:10

Цитата:

Сообщение от fljot (Сообщение 964822)
Что-то я не могу понять. Можете сделать проблемный пример?

Подробный пример описан тут в первом посте:
http://www.flasher.ru/forum/showthre...035#post959035

fljot 15.01.2011 16:36

Цитата:

Сообщение от JackFromChaos (Сообщение 964834)
Подробный пример описан тут в первом посте:
http://www.flasher.ru/forum/showthre...035#post959035

Если BaseMyGroup делается "инжекцией", то в нём будет ровно то, что вы сами напишете. Но тогда
Код AS3:

var group1:MyGroup;
group._element;// не сработает, т.к. в swc у MyGroup нету такого проперти, а компилятор и IDE видят другой самописный BaseMyGroup, в котором вы, например, не указали _element
 
group.getChildByName("_element");// сработает



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

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