Archive for января, 2008

Новое в классе FileReference

Недавно в блоге GarbageCollector появилась статья о новых событиях класса NetStream.

Я в свою очередь ) недавно обнаружил некоторые нововведения и в классе FileReference, впервые появившемся в Macromedia Flash 8.


Когда я впервые стал смотреть на возможности этого класса, меня разочаровало то, что на сервер вместе с загружаемым файлом можно отправить данные только GET-методом. (Классический урл-запрос с парами переменная=значение). Также нельзя было получить от сервера никаких данных, по завершении загрузки.

Недавно вновь обратился к этому классу, но уже в Adobe Flash CS3 - и, о чудо! Новые свойства и события, как раз на эту тему.

Новое свойство postData:String. - Как видно из названия (опыты подтверждают) - POST параметры, которые отправляются на сервер вместе с загружаемым файлом.
Польза? Как минимум отправка сложной формы, включающей некий файл (картинку, звук, архив) на сервер. Данные формируются строкой из все тех же пар переменная=значение.

Новое событие:

1
onUploadCompleteData  =  function (fileRef:FileReference, data:String) {};

Как видно из конструкции - по завершению аплоада, если сервер отдает какие то данные в ответ, то мы можем их получить в переменной data:String. Очень удобно хотя бы для того, чтобы сообщить пользователю, что его драгоценные данные отправлены и приняты.

Вот такие бонусы. Добавлю только, что все это работает в плеере 9.0.r28 и выше.

2 комментария января 29, 2008

Первая помощь флешовому HTML Render-у

Форматирование текста с помощью HTML во флеш,что ни говори - гораздо удобнее, чем форматирование с TextFormat, практически в любой ситуации.

Если Вас сильно огорчает сильно урезанный набор тегов, который HTML парсер флеша понимает - читайте дальше.

Итак, что мы имеем в распоряжении:
P, B, I, U, A, BR, LI, I, IMG, SPAN, TEXTFORMAT, FONT.

Как видим - ни хедеров, ни STRONG, который рекомендуется вместо B. Заставить флеш-хтмл-парсер понимать h1, h2…. strong, em не прибегая к хакам - елементарно.
У нас же есть законный TextField.StyleSheet. А с помощью css можно форматировать любой XML документ. Грамотный HTML - это тот же XML, поэтому нам достаточно описать в каком виде мы хотим видеть наши заголовки, описать strong, em - и все что нам нужно в таблице стилей.

Маленькая странность - любой неподдерживаемый тег, описанный в таблице стилей - разрывает строку. В случае заголовоков это даже полезно, а вот strong, разрывающий пасть строке - это экзотика К счастью флеш поддерживает свойство display. Так что display: inline - поставит все на свои места.

Дружите с цсс+хтмл. Великий поклон разработчикам за то, что они избавили меня лично от необходимости повсеместно пользоваться текстФорматом. Даже за такой куцый парсер хтмл.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// стиль
var style_string:String = "h1 {font-size: 20; font-weight: bold} ";
style_string += "strong {font-weight: bold; display: inline;}";
var style_css:TextField.StyleSheet = new TextField.StyleSheet();
style_css.parseCSS(style_string);
// текст
var html_text:String = "
</code>
<h1>Нeader</h1>
";
html_text +="<strong> Very strong line </strong>";
html_text +="usual text";
 
// текстовое поле
var tf:TextField = this.createTextField("tf",0,10,10,400,200);
tf.multiline = true;
tf.wordWrap = true;
tf.border = true;
tf.html = true;
tf.condenseWhite = true;
tf.styleSheet = style_css;
tf.htmlText = html_text;

Ну, а если требуется что-то более продвинутое - посмотрите на компонент HTMLRenderer Андрея Горбатова: http://gorbatov.blogspot.com/…/htmlrenderer

Один комментарий января 28, 2008

Баг FLASH CS3 IDE при работе со Static TextField

Очень надоедливый баг, который я обнаружил только при работе в CS3.

Создаем статичное текстовое поле.
Вносим в него текст.
Задаем тип рендеринга - Device-Fonts
Публикуем свфку, сохраняем FLA.
Пока все нормально.

Когда FLA открывается в следующий раз - Статичное текстовое поле уже рендерит текст как Anti-alias for animation, и приходится вновь выставлять Device-Fonts.

В итоге я перестаю использовать статичные поля и делаю их невыделяемыми динамическими. Но все же баг. Пожаловался Adobe.

Кто-то встречал что-то подобное? Какие оси и версии  IDE?

8 комментариев января 15, 2008

Анимация статичного растра. Имитация 3D.

Сегодня делюсь опытом по анимации.

Если у нас есть кусок растра, который во чтобы то ни стало надо как то анимировать - можно воспользоваться увлекательной нарезкой персонажа на куски )
Принцип метода достаточно прост.


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

Первый пример наглядно иллюстрирует суть метода.

Главное - не перестараться со смещением верхних слоев - иначе станут видны нежелательные части тела на нижних слоях. Иногда, по необходимости, можно конечно и подкрасить пару тройку пикселей, чтобы заретушировать нежелательные детали на нижних слоях.

Вот еще пример псевдо-3D-нарезки.

10 комментариев января 10, 2008

Adobe_RU

Будем надеятся, что это тенденция, которая получит грамотное развитие.

http://help.adobe.com/flash/9.0_ru/UsingFlash/

http://help.adobe.com/ru_RU/Photoshop/10.0/
http://help.adobe.com/ru_RU/Illustrator/13.0/
http://help.adobe.com/ru_RU/Dreamweaver/9.0/index.html

2 комментария января 9, 2008


МЕТА

метки

Календарь

Январь 2008
Пн Вт Ср Чт Пт Сб Вс
« Дек   Фев »
 123456
78910111213
14151617181920
21222324252627
28293031  

Архив

Ссылки

Радио