Форум 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)

drnet_ua 14.01.2011 19:50

алгоритм взаимодействия дизайнера с кодером (SWC+FD)
 
К примеру делаем мы игру крестики-нолики.

Дизайнер нарисовал внешний вид приложения, всякие там крестики, нолики, поле, фон и тд.

это все експортируется в SWC. т.е. у нас голые графические ассеты, и отдельным классом некий общий вид интерфейса, как его видит дизайнер.

Теперь Кодер должен со всем этим работать как то.

я вижу несколько кривоватый способ построения интерфейса :(

я должен из "общего вида" выдрать координаты всех элементов, и потом заново собрать это все, но уже на AS.

я в правильном направлении двигаюсь?

КорДум 14.01.2011 19:56

Не обязательно. Следует просто назначить каким-то переменным getChildByName'ом нужные элементы, другие оставить статическими. С этими переменными уже и работать. Часть может быть придется и выдрать, если, например, где-то сбоку есть три вида стейтов кнопки "close".

udaaff 14.01.2011 20:02

Цитата:

я должен из "общего вида" выдрать координаты всех элементов, и потом заново собрать это все, но уже на AS.
В данном случае задаются не только координаты, но еще и глубина и, возможно, масштаб.
И раз оно уже всё задано, то руками выдирать, на мой взгляд, не обязательно.

TanaTiX 14.01.2011 20:02

Тоже интересует эта проблема, тоже не могу найти просветления. Но что-то мне подсказывает, что использование getChildByName-ов не совсем кашерно, учитывая концепцию ООП и типизацию. С нетерпением жду разоблачения или других подходов.

drnet_ua 14.01.2011 20:09

ок. а "кошерный" способ задания к примеру координат ячеек в которых потом разместятся эти самые крестики/нолики?

дизайнер в этих местах просто повставлял крестики например с названиями(p_1_1,p_2_1.... итд) , я получаю их координаты, пихаю в масив. далее мне их надо удалять все, или просто воссаздать заново.

еще есть анимация появления этой элементов интерфейса в данном примере рисование "#".

на ее месте в "исходном" классе сейчас просто нарисованный спрайт, мувик с ее проявлением в библиотеке.

КорДум 14.01.2011 20:14

Ну вот варианты:
1. Мы вытаскиваем из swc наш клип со всем барахлом, пробегаемся по динамическим элементам (заранее зная их имена), даем ссылки на них переменным. С этими переменными работаем. Статические элементы - фоны и прочее у нас остается нетронутым. Вроде бы самое простое.
2. Мы слезно умоляем дизайнера выдать нам swc с уже распарсенными элементами и текстовики с координатами вкупе с ТЗ. Все это формируем динамически в каком-нибудь классе.
3. Ругаемся на ленивого дизайнера, просим fla, парсим все элементы сами и возвращаемся ко второй части пункта 2.
4. Получаем грамотно составленный swc, где динамические части отдельно от статического контейнера, текстовик с ТЗ и координатами (по сути, пункт 2).
Все, я иссяк.

inozemcev 14.01.2011 20:30

может быть парсер написать который бы проходил по дереву визуальных объектов и выводил лог со всеми необходимыми параметрами, а далее уже с помощью собранной информации вывести все свойства интерфейса в xml и уже с него позиционировать объекты в конечном приложении, тогда любые возможные изменения можно будет вносить в xml не меняя код ?!

drnet_ua 14.01.2011 20:37

КорДум браво!

JackFromChaos 14.01.2011 21:48

Как работаем мы.
Обычно у swc которая линкуется к FD уже настроены все export, имена и т.д. К примеру у нас есть сцена с крестиками/ноликами. Это значит что есть экспортируемый символ-сцена, в котором уже лежат экземпляры экспортируемого символа с 2 кадрами(крестик/нолик).
Обычно после этого я наследуюсь от сцены, и пишу там логику. Экземпляры крестиков и ноликов в виде переменных у меня уже автоматом есть. Но это - естественно не обязательно.

Естественно, что бы получить такую swc, fla должны делать программисты. Соотвественно, какие тут есть варианты:
1) Художники все рисуют в photoshop. Затем передают psd программистам. Они сами импортят во flash и настраивают.
2)Художники делают fla, на основе ТЗ и своих способностей. Затем программист дотачивает fla напильником.

Если надо, уже нормальную FLA можно вернуть художникам, с подробным описанием, где и как сделать какую нибудь анимацию... Как то так...

При любом раскладе допиливать во Flash программисту придется. Автоматизировать сей процесс в любом случае не удастся, художники все равно где нибудь набокапорят:)

Добавлено через 4 минуты
Опять же, тут много зависит от задачи. К примеру я делал игру про рыбок, с видом сверху, с программным скелетом и анимацией. Как не странно, мне вполне удалось научить художников делать правильную структуру объекта для рыбок и экспорт рыбки. А так же я сделал им класс, который они прописывали его в качестве класса - документа. Они ложили свою рыбку на сцену, и могли поуправлять рыбкой с помощью мышки, посмотреть как-что, если надо, что-то подправить.(класс содержал логику анимации рыбки, а так же брал первый символ на сцене, если таковой был, и пытался сделать из него рыбку, а затем управлял ею)...
В результате получился вполне нормальный pipline.

udaaff 14.01.2011 21:58

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


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

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