Загрузка изображений в TextField, в виде строки Base64, встроенной в HTML код

28/05/2009

У многих браузеров есть классная особенность - они умеют отображать картинки из строки кодированной в Base64. Такие изображения отличаются только содержимым атрибута SRC:

<img src="data:image/png;base64,iVBORw0KGgoAAAANS..." alt="Изображение" />

Мне стало интересно провернуть такой же трюк в TextField'е во Flash приложении.

Прочитать остальную часть записи »

Использование REST во Flash приложении

23/05/2009

REST - Representational state transfer, техника используемая многими web-сервисами, напрямую не поддерживается в ActionScript 3. Класс отвечающий за генерацию запросов по HTTP способен передавать только GET и POST запросы, а для REST ещё необходимы PUT и DELETE. Но есть возможность реализовать недостающую функциональность с помощью класса URLStream, но для этого придётся ещё много всего реализовать, что уже и так реализовано. В общем, я вчера поискал решения по этому поводу и нашёл две, с виду, не плохие библиотеки:

as3httpclientlib - практически полноценный HTTP клиент, поддерживает полный спектр необходимых запросов. Распространяется по лицензии MIT, т.е. абсолютно бесплатен для коммерческого использования.

RESTService - библиотека созданная специально для использования REST во Flash/Flex приложениях.

Радует, что обе библиотеки имеют примеры и документацию. :)

Отправка и получение данных в кодировке отличной от UTF-8 через HTTP

23/05/2009

Если вашему приложению необходимо общаться с существующим сервисом и он по какой-то причине не поддерживает UTF-8, ваше Flash приложение может отправлять и получать данные в нужной кодировке. Это не секретная техника и многим уже известна. А я решил написать этот коротенький пост, т.к. не смог найти этого решения в течении 5-ти минут в Google(плохо искал? оставьте ссылку в комментариях). :)

Прочитать остальную часть записи »

Изменить цвет фона Flex виджета под цвет фона HTML страницы

22/05/2009

Flex cookbook entry: To change the background color of a Flex widget for the background color of HTML page.

При создании виджетов, встраиваемых приложений создатели стремятся, либо выделить своё приложение, либо сделать так, чтоб оно сливалось с окружением. Для вторых может быть полезным этот способ.

Прочитать остальную часть записи »

Сокрытие(Embed) JavaScript кода во Flex приложении

22/05/2009

Flex cookbook entry: Embed of JavaScript code in the Flex application.

Интегрировать любой файл можно во Flex приложение с помощью метатега [Embed] с указанием myme-type как application/octet-stream. В такой способ можно сохранить JavaScript код во Flex приложении, но работать с этим кодом можно будет только если загрузить его в браузер, в HTML документ. Для загрузки кода воспользуемся библиотекой JSnterface.

Прочитать остальную часть записи »

Загрузка дополнительных JS и CSS файлов в HTML документ

21/05/2009

Flex cookbook entry: Loading of additional JS and CSS files in the HTML document.

JSInterface позволяет загружать внешние JavaScript и CSS файлы прямо в HTML страницу. Для этого необходимо указать URL файла и функцию обратного вызова, вызываемую по окончанию загрузки.

Прочитать остальную часть записи »

Сообщение о несохранённых данных перед закрытием окна браузера

21/05/2009

Flex cookbook entry: Message about unsaved data before closing the browser window.

Для Flash и Flex приложений работающих с пользовательскими данными очень важно, чтоб пользователь всегда мог сохранить свою работу перед закрытием приложения. Стандартные браузеры, имеющие поддержку JavaScript оповещают о закрытии окна/таба или переходе на другую страничку. Все эти действия могут привести к потере данных, но использование этого оповещения позволит сохранить все необходимые данные. Flash/Flex приложение подписывается на JavaScript событие "onbeforeunload", которое вызывается всегда перед закрытием страницы или переходом на другую страницу.

Прочитать остальную часть записи »

Узнать когда окно браузера получает или теряет фокус

21/05/2009

Flex cookbook entry: How do I know when the browser window gets or loses focus.

В наше время существует много ресурсоёмких Flash и Flex приложений, которые занимают много памяти и сильно нагружают процессор, даже тогда, когда пользователь не работает с приложением. К примеру, пользователь мог отвлечься на другое приложение или таб в браузере. Особо требовательные к ресурсам приложения, использующие 3D, анимацию или сложные эффекты и фильтры, можно разгрузить останавливая анимацию, видео и музыку. Таким образом снимать нагрузку с процессора, когда пользователь не работает с приложением. Для получения информации, когда пользователь не использует приложение, будет использовано JavaScript событие onblur, испускаемое когда пользователь переводит фокус на другое приложение, окно или таб. Такое же событие - onfocus будет использовано, когда пользователь активирует окно с приложением. Прочитать остальную часть записи »

Отлавливаем JavaScript события из Flash/Flex приложения

21/05/2009

Flex cookbook entry: Handling JavaScript events from a Flash/Flex application.

Для начала вам нужно скачать библиотеку JSInterface(находится в скачиваемом архиве) с официальной страницы проекта.

Прочитать остальную часть записи »

Улучшение взаимодействия с JavaScript с помощью JSInterface

20/05/2009

Flex cookbook entry: Improvement of interaction with JavaScript.

Библиотека JSInterface облегчает взаимодействие между Flash приложением и JavaScript средой. С её помощью разработчик может делать то же самое что и в JavaScript, только обычными средствами ActionScript. В отличии от ExternalInterface, он предоставляет стандартный интерфейс для доступа к объектам, их свойствам и методам.

Прочитать остальную часть записи »

Получил лицензию на Flex Builder 3 Professional

13/05/2009

Благодаря стараниям Роста, я сегодня получил лицензию на Flex Builder 3 Professional за свои февральские посты во Flex Cookbook.

Поиск книг по Flash/Flex

10/05/2009

Для тех, кто не знает - существует замечательный сайт/директория с описанием и ссылками на книги по различным тематикам. Имеется отличный набор книг по Flash/Flex/AIR, но все они на английском. Эти книги раздаются на незаконных основаниях(ссылки сами по себе вполне законны), но иногда очень надо быстро получить инъекцию знаний. В общем-то, можно найти массу оправданий самому себе использовать "пиратскую" продукцию, но эти книги там так соблазнительно лежат... :)

Но Google остаётся главным, как средство поиска знаний:

design patterns filetype:pdf site:ru - третья ссылка
adobe flex site:rapidshare.com
Справка по поиску в Google.

P.S.: Понравившуюся книгу всегда можно купить, да и печатную, лично мне, как-то легче читать.

Получить скриншот веб-странички — способ паразита

28/04/2009

Пару лет назад набрёл на flash-сайт(какой именно, можно глянуть в скрипте), в котором создавались скриншоты веб-страничек. Мне стало интересно и я нашёл несколько решений, которые требуют дополнительные права на сервер(установка и запуск приложений), которых не дают на обычном хостинге. Я прошёлся сниффером и получил доступ к API этого сайта, для создания изображений с веб-страничек. PHP-скрипт можно посмотреть в действии или скачать.

Прочитать остальную часть записи »

People.NET с модемом CCU-550 на Windows 64-bit (XP,Vista,7)

27/04/2009

Недавно понадобилось к компьютеру с установленной Windows 7 64-bit подключить People.NET через стандартный модем C-motech ССU-550. Но, после установки драйверов, программа идущая в комплекте не смогла обнаружить модем. Поискал по сети и обнаружил статью с наиболее удачным решением проблемы для любой 64-bit Windows. А здесь я опишу процесс установки модема, как это было в Windows 7 64-bit/x64.

Прочитать остальную часть записи »

Экспорт анимации из Flash CS4

14/04/2009

Во Flash CS4 есть возможность экспортировать анимацию в виде ActionScript кода. Суть, в том, что можно сделать анимационных шаблонов и использовать их в проектах. Особенно это может быть важно при взаимодействии дизайнера и программиста - дизайнер может сделать анимацию именно так как ему надо. А программист, может легко её использовать, вставив в нужный кадр или класс. Экспортированный код использует классы из SWC библиотеки поставляемой с Flash CS4, а значит, его можно использовать за пределами Flash IDE. Такая возможность переноса анимации может быть полезна программистам, которые используют "нормальную" среду разработки/кодирования.

Прочитать остальную часть записи »

Оповещения(alert’ы) в AIR

11/04/2009

В процессе производства очередного проекта(в целях самообучения :)) возникла необходимость отображать обычные оповещения. Я интенсивно использовал окошки в этом приложении и хотел бы отображать оповещения таким же способом - в отдельном окошке. Но осмотревшись, я не смог найти нормального простого решения, а стандартный класс mx.controls.Alert способен отображаться только внутри другого окна.


Прочитать остальную часть записи »

Передача объектов и массивов GET/POST методами

1/04/2009

Flash и PHP созданы друг для друга, но вот беда - Flash не умеет отправлять сложные структуры данных через URL запрос. Есть конечно, AMFPHP - удивительный и очень мощный инструмент, но если нужно просто чуть расширить уже имеющийся проект, то вполне разумно воспользоваться способностью PHP принимать массивы через URL. Вполне возможно, что проект, со временем, перерастёт своё начальное ТЗ и понадобится сменить обычные запросы на общение Flash/Flex <--> AMFPHP, но пока можно читать дальше. :)

Прочитать остальную часть записи »

Дополнительные возможности фильтрации с помощью E4X

1/04/2009

Flex cookbook entry: E4X advanced filtering.

При обработке XML данных, не редко, создаются несколько циклов или фильтров. Каждый цикл выполняет свою задачу, но иногда эти циклы можно объединить, а то и вовсе упразднить. Далее, на примерах будет показано как можно максимально загрузить E4X фильтр, чтоб избежать создания новых циклов.

Прочитать остальную часть записи »

Получить ссылку на объект класса по его экземпляру

1/04/2009

Flex cookbook entry: Get definition by object instance.

Все объекты в ActionScript 3 содержат свойство constructor, которое содержит ссылку на писание типа, а точнее - объект Class(в большинстве случаев). Это свойство досталось всем типам от самого старшего родителя - класса Object, но некоторые IDE не редко забывают о его существовании. Ещё, о его существовании забывают прокси-делатели, которые расширяя класс flash.utils.Proxy забывают придать значение этому, очень важному, свойству. Примером этому безобразию может служить класс mx.collections.ArrayCollection из Flex Framework - при запросе свойства constructor, он выдаст ошибку.

Прочитать остальную часть записи »

Создание двух/трёх членов класса с одним именем

31/03/2009

Flex cookbook entry: Creation of public and private members of the class with the same name.

Предлагаю вам возможность создавать одноимённые:

  • Приватный и публичный члены класса
  • Статический член класса и член класса принадлежащий экземплярам класса.

В обоих случаях эта возможность доступна через пространства имён. Суть, в том, чтоб указывать для одноимённого метода или свойства базовое пространство имён. В ActionScript 3 могут быть два базовых пространства имён(обычно оно одно), это любое пространство имён с URI равным пустой строке, а второе - AS3. Пространство имён AS3 доступно глобально и проддерживается Flash player'ом. Вы можете найти его применение в классе Array. Как известно, чтоб работать с членами класса находящихся в различных пространствах имён, необходимо их указывать в строке запроса.

object.namespace::localName;

Но базовое пространство имён хорошо тем, что оно базовое и его не нужно указывать - указывается только локальное имя.

Прочитать остальную часть записи »