Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   SDK 4, использование FXG 1.0 (http://www.flasher.ru/forum/showthread.php?t=132543)

fisherman 13.11.2009 23:25

SDK 4, использование FXG 1.0
 
Привет пользователям flex! Не знаю, сколько людей сейчас используют четвертый SDK, но, думаю, такие есть. У меня возникли трудности с формированием этого вопроса, т.к. терминологию я не знаю на должном уровне, но можно попробовать так:
-Вопрос
Можно ли сохранять FXG описание объектов графики компонентов программно с последующим использованием этих файлов (тоже программно)? И если да, то как?
-Пояснение
Например, во время работы в своего рода 2d редакторе при добавлении на Canvas графических объектов(примитивов из FXG), изменении их свойств переписывать специальный файл fxg(или xml O_o, но так чтобы работало) с описанием граф. объектов Canvas или добавлять информацию в него. А затем использовать эту информацию для формирования другого Canvas'a уже в другой программе.

Вот такая проблема. Я, конечно, знаю английский, но спецификация FXG 1.0 при беглом просмотре ответов мне не дала. Жду ваших решений и, по возможности, простеньких примеров. Заранее спасибо.

wvxvw 14.11.2009 03:01

Силился понять, но не смог :)
Что вы хотите сделать в итоге? Кстати, FXG 2.0 уже :)
Что вы имеете в виду, когда говорите програмно? FXG это XML т.е. ну, текстовый файл... Так что, любая програма которая может работать с текстовыми файлами, может работать и с ним...

fisherman 14.11.2009 13:23

Эхм.. ну я же говорил про терминологию)
Да, нужно работать именно с текстовыми файлами, в которых будет храниться описание графических объектов компонента. Например, если мы добавили в компонент посредством каких-то действий пользователя (нажатие кнопок/изменения свойств путем заполнения каких-либо форм) прямоугольник определенных размеров с определенным идентификатором, то в файле будет что-то вроде:
Код:

<Rect id="rect0"
                width="120" height="60">
        <fill>
                <s:SolidColor color="red" alpha="0.5" />
        </fill>
</Rect>

Другое приложение, используя схему из файла, формирует такой же компонент с теми же графическими объектами.
С версией FXG я запоздал) Но не думаю, что это так важно, просто хотлось бы узнать как работать с FXG в такого рода задачах, есть ли какие-либо готовые решения по преобразованию типа объект-код-объект, или все формирование и весь анализ текстового файла придется писать вручную? Конечно, FXG, как я понял, задумывалось больше для дизайнеров, которые что-либо нарисуют, а потом, используя какую-либо программу - преобразуют картинку в текст, но, имея на руках такой формат описания графики, хотелось бы его использовать пошире, например для решения вот такой задачи)

wvxvw 14.11.2009 14:24

Я думаю, что пока что единственное приложение рассчитанное на работу именно с отображением FGХ файлов - это модуль компилятора который именно ими и занимается (т.е. преобразует их во флешевую родную графику). Но, в моем представлении задумка формата скорее в том, чтобы другие программы могли писать файлы которые легко преобразовываются во флешевую графику.

А писать, ну да, скорее всего самому, поэтому и выбран XML, что его писать самому не сложно...

fisherman 14.11.2009 23:20

Мм. Т.е. модуль компилятора.. Ну, допустим, будет у меня программа, которая сформирует FXG файл в этаком 2d редакторе. А возможно как-то встраивать в компонент налету данный код (FXG)? Т.е. у нас есть код, описанный выше (с прямоугольником) в отдельном файле, с сохранением namespase в таком же виде, как это было бы при вводе кода вручную перед компиляцией(ну, т.е. "<s:" везде). При создании компонента, используя ссылку на этот файл, можно ли создать его с наполнением, взятым из файла?

wvxvw 15.11.2009 02:28

А, не, такого нет, и вряд ли предвидится в обозримом будущем... ну, или для этого вам нужно будет портировать флексовый компилятор в AS3 и тогда уже используя его генерить флешевую графику "на лету". ИМО, если это не напряжно по деньгам, легче затолкать флексовый компилятор себе на сервер, на нем скомпилировать и прислать готовое обратно.

fisherman 15.11.2009 10:46

Ясно. Вернее, про встраивание ничего не ясно, но спасибо за просвещение о FXG. А существуют какие-либо еще способы генерации компонентов, идентичных компонентам другого приложения? (на примере последнего моего поста, т.е. другое приложение сообщается с первым,где есть генератор). Т.е. есть клиентское приложение-редактор, а на сервере приложение-проигрыватель, использующее информацию, переданную клиентом для построения сцены. Сцена строится на компоненте, который является копией созданного на клиенте компонента.

wvxvw 15.11.2009 13:40

Смотрите, FXG - это формат для графики, под компонентами, как правило подразумевают в первую очередь функционал у которого может быть какое-то графическое отображение (а может и не быть - например HTTPService). Многие из флексовых компонентов можно создать используя createComponentFromDescriptor() метод у Container. Но в случае с просто графикой это вам не подойдет. Есть какие-то SVG / PDF парсеры, но я не пробовал их, и не могу сказать на сколько тот или другой лучше / чего-то может.


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

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