PDA

Просмотр полной версии : Формат swf


Ноябрь
19.11.2007, 03:01
Начал разбирать спецификацию по swf, т.к. английский я знаю неважно, смысл каждой строки доходит не на 100%, не мог бы кто-нибудь провести ликбез, так скажем.
Что нужно сделать, чтобы увидеть, скажем, круг (ну или вообще хоть какой-то шэйп) в флэшпроигрывателе?

BlooDHounD
19.11.2007, 10:24
перевести можно, вот только плэйер так и не научится читать память на прямую :) так что узнать в каком виде записан graphics не получится. да и я думаю, что если бу дуплить мувики, или перегонять в байтэррэй было бы так легко, то индусы бы сделали и не обломались :)

LinuxVideo
19.11.2007, 20:43
В конце официальной спеки есть пример, где каждый байт описан
А чего, ming не помог? Вообще, опиши задачу, может сделаю

Ноябрь
20.11.2007, 00:19
было бы так легкокак круги рисовать в AS2..:rolleyes:

Вообще, опиши задачу
Ну.. план амбициозный, хочу сделать графический редактор на AS3.
Просто
1) обычная векторная графика в swf перегоняется плохо (с косяками, а если не во флэше, то где вообще еще этот вектор нужен..).
2) вообще хорошего векторного редактора по моему мнению нет.
У меня есть много хороших идей по поводу того каким оно все должно быть, чтобы рисовать было удобно.
Так вот, мысль такая:

Графическая оболочка -> xml данные -> компилятор -> swf, который можно импортировать на рабочую область.


Мля.. как сохранить/открыть этот байт код :confused:

LinuxVideo
20.11.2007, 16:32
Посмотри в сторону SVG
Я тоже делал свой редактор, правда на VML (работает только в IE)
В отличии от Флеша, SVG & VML умеют нативно рисовать cubic bezier, а не quadratic bezier, который во флеше.

Посмотри на SVG - это открытый формат, по сути чистый XML, умеет скрипты и много вкусностей, не проприетарный, как Флеш, много где рисуется нативно. Еще есть редакток Inkscape, который использует SVG нативно. Расскажи разработчикам о своих идеях, быть может сделают :)

Как вариант, генерить всю графику "на лету", т.е. из кода, получая из внешнего источника данные для рисования.

Ноябрь
21.11.2007, 04:10
Inkscape Интересная штука, удобная..
А на чем он написан..?

НО проблема импортирования графики во флэш остается.
Даже встает более остро, т.к в swf оно не переводит вообще...

ммммм.. и все-таки как открыть swf, чтобы увидеть байт код?

vooparker
21.11.2007, 09:57
2Ноябрь: байт код можно посмотреть hex-редактором любым =)
Что касается импортирования графики во флэш то SVG можно включить в swf с помощью mxmlc и тэга [Embed]

Ноябрь
21.11.2007, 15:10
попробовав нарисовать что-то определенное я понял, что Inkscape фигня.. (

LinuxVideo
21.11.2007, 17:25
> А на чем он написан..?

с++ & gtk

> НО проблема импортирования графики во флэш остается.
> Даже встает более остро, т.к в swf оно не переводит вообще...

Но ведь на выходе у тебя будет чистый xml, с которым можно сделать чего угодно. Причем будет более богатое описание полигонов, нежели во флеше. Скармливаешь эти данные ming-у, а он уже генерит swf - чем не устраивает? Или рисовать динамически - флешка читает svg и рисует по битмапу (или создает шейп)

> попробовав нарисовать что-то определенное я понял, что Inkscape фигня.. (

Он опенсорсный, все в твоих силах :)

BlooDHounD
21.11.2007, 19:27
флэш понимает прекрастно понимает svg и так. правда не в рантайме, но сторое сервере можно поставить компилятор, который будет перегонять svg в swf.

JaLav
23.02.2008, 01:12
Меня заинтересовало
Что касается импортирования графики во флэш то SVG можно включить в swf с помощью mxmlc и тэга [Embed]
и

Или рисовать динамически - флешка читает svg и рисует по битмапу (или создает шейп)


Можете обьяснить подробнее?

etc
23.02.2008, 12:23
SVG-конвертер встроен в компилятор mxmlc и дает на выходе шейп, зашитый в swf.

А вариант с чтением svg в рантайме подразумевает под собой создание парсера SVG.

Ноябрь
23.02.2008, 13:40
а я вот не пойму кто такой рантайм..

etc
23.02.2008, 16:24
Не кто, а что. runtime = «Во время работы приложения».