LINUX.ORG.RU
ФорумTalks

Хочу понять флеш, который нас окружает со всех сторон от баннера до ютуба.


0

0

Я обычно считаю, что понял какую-то штуку только тогда, когда у меня о ней есть такое количество законов, что не имея её в руках я могу представить, как она выглядит с разных сторон, как она ломается и гнётся, какие от неё ощущения и я могу в уме определить, как ей удобно чесаться, а когда она окажется в руках, я возьму её и окажется, что так чесаться реально удобно. А до тех пор я всем говорю, что я ничего не понимаю. Например, я понимаю, что такое С++ во взаимосвязях, я понимаю, что это такой набор формы мышления, синтаксиса, каких-то правил и удобных средтв, которые дают на выходе того же рода мясо, как ваш *.asm или *.c файл, но с большей ВЕРОЯТНОСТЬЮ ИНТЕРЕСНОСТИ ПОВЕДЕНИЯ, которое достижимо только на том уровне мышления, теми средствами, которые есть в С++.

И вот я хочу понять Flash. Просто любопытно, как оно устроено до конца, т.к. оно окружает на со всех сторон уже. У меня вообще никакого отношения к Flash нет, я просто его видел и всё. Я не хочу сказать, что он замечатален и я "хочу его", я хочу сказать другое: "он достаточно заковырест, чтобы к нему появился интерес". Данный пост рассчитан на людей, которые едят собак на флеше и способны шестилетнему ребёнку быстро накидать объяснение того, что они вообще делают. Мне хочется начать с того, с чего всё начинается во флеше. Сначала о том, что я знаю.

Я знаю, что флеш - это совокупность повара и едока. Повар готовит еду, запихивает в традиционную японскую деревянную шкатулку "бэнто" (привет ThinkPad)

это такая плоская коробка, где вертикальными стенками образованы секции, в которые кладётся разная еда. Бенто - это SWF файл, куда повар кладёт разные виды всякой еды - звуки, картинки, программный код и прочее. Потребитель - это Flash Player - проигрыватель этого пакета с едой. К нему поступает бэнто и в результате мы видим на экране "масяню" или баннер со звуком или игрушку. Разные секции хранят разные части масяни. Чего я хочу вкурить для начала - это с чего всё начинается? Где в SWF функция main(), если там такое есть? И такая штука - если вы едите собак во флеше, то дайте мне свою аську, я до вас доберусь. Или телефон и я тоже доберусь. Я уже поставил MFMX8 и понажимал там полчаса на всякие кнопки, пописал какой-то экшнскрипт (это наиболее привлекательный момент), собрал даже SWF-файл, в котором мои фигуры просто валяются и ничего не делают.

icq 297566544 - для особо бескорыстных флешособакоедов.

Перемещено anonymous_incognito из Development


Аффтар не читатель, аффтар -- писатель?

anonymous
()
Ответ на: комментарий от Valeriy_Onuchin

Спасибо. Нет, нужен не формат, не этот контейнер, а вообще флеш. Ну т.е. я задаю такой наивный в доску вопрос, как если бы вас ребёнок спросил: "папа, что такое программа". Вот. Причем требуется не чтобы ребёнок сел и написал hello world, а чтобы он начал мыслить сразу дальше.

ella
() автор топика

Ёпть, столько вычурных фраз, чтобы сказать, что автору лень в гугле поискать или книжку почитать. Не пройдете ли в топку?

anonymous
()
Ответ на: комментарий от ella

> Спасибо. Нет, нужен не формат, не этот контейнер, а вообще флеш. Ну т.е. я задаю такой наивный в доску вопрос, как если бы вас ребёнок спросил: "папа, что такое программа". Вот. Причем требуется не чтобы ребёнок сел и написал hello world, а чтобы он начал мыслить сразу дальше.

Неее, ты тролишь слишком тонко, местная публика не оценит...

anonymous
()
Ответ на: комментарий от ella

1. нужен SWF парсер. SWF - это "в основном" векторная графика +
jpeg растровая + некий язык
(там даже арифметические операции можно выполнять)
+ управление анимацией

можно взять готовую, типа
http://lists.canonical.org/pipermail/kragen-fw/2003-March/000238.html

2. далее этим парсером читается SWF файл
и выполняются все действия описанные там любыми "подручными средствами"

Valeriy_Onuchin ★★
()
Ответ на: комментарий от Valeriy_Onuchin

когда-то у меня была задачка обратная - генерить
SWF file, поэтому вспомнил про libming.
самый лучший способ - взять Macromedia Flash SDK ....
хе-хе - они и это убрали ... надо искать (или самому писать) SWF parser :(


Valeriy_Onuchin ★★
()

>Данный пост рассчитан на людей, которые едят собак на флеше

Флешсобак едят там: http://snob.ru/

PыSы топикстартер еще не высказывался о KDEvsGNOME, с нетерпением жду

gnomino
()
Ответ на: комментарий от Valeriy_Onuchin

Нет, сорри, у меня нет задачи парсить SWF или декомпилить его. Я хочу понять модель всей заманухи под названием Flash, только начиная не с места "в 1998 году группа разработчиков создала...", а с того места, которое у программеров занимает функция main (). Т.е. я прошу объяснить это так, как если бы вы объясняли это человеку, который ничё не знает кроме C, как-бы на примерах, на аналогиях, метафорах и аллегориях.

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

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

ella
() автор топика
Ответ на: комментарий от Valeriy_Onuchin

> там даже арифметические операции можно выполнять

На Си можно даже программы писать...

Изначально Флеш был простой смотрелкой векторных документов. Постепенно в него добавили анимации, кнопки, звуки. Чем-то это было похоже на PDF - векторные презентации, но со своим блекджеком и шлюхами. Постепенно появлялись скрипты, можно было подвигать фигурки, получить данные с сервера, что-то куда-то передвинуть...

В 6 версии Флеш научился программно рисовать, больше не надо было извращаться с векторными спрайтами. Развивались всякие фрейворки и библиотеки, появились навороченные формы, видео, аудио-трансляции. И так было до 9 версии...

В 9 версии появился AS3 - новый язык, хоть и похожий на AS1/2, но другой. Можно было работать уже с битмапами, попиксельно рисовать, открывать сокеты до сервером и общаться с ними по своему протоколу...

А в 10 флеше и чтение файлов с винта пользователей, и 3D-рисование (с аппаратным ускорением), и шейдеры (почти GLSL) и много шлюх со встроенным блекджеком...

т.е. это уже не "даже арифметические операции можно выполнять", а целая платформа для создания медийных приложений. А благодаря закрытости (единой реализации) нету зоопарка, как в случае SVG, когда каждый браузер рендерит его по своему. Причем SVG - это векторный двиг, а Флеш - это не только вектор.

EmStudio
()

Прослезился.

anonymous
()
Ответ на: комментарий от EmStudio

2EmStudio
> А в 10 флеше и чтение файлов
пасиб за инфу.
быстро у них там все меняется ... :)
С этим давно не "играюсь"
остался на уровне, когда только появился MING,
отстал лет на 6.

Вопрос:
1. у них SDK для работы со всем этим остался?
2. как повлияло поглощение Maromedia by Adobe?
не собирются ли они косолидировать PDF & SWF?

Valeriy_Onuchin ★★
()
Ответ на: комментарий от Valeriy_Onuchin

> 1. у них SDK для работы со всем этим остался?

Есть FlexSDK, я под ним флешки из линуха компилю. Адобы сами под линух собирают.

> 2. как повлияло поглощение Maromedia by Adobe? не собирются ли они косолидировать PDF & SWF?

1. Адобы сломали тормоза ас1/2, для консолидации давно есть flashpaper

EmStudio
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.