четверг, ноября 30, 2006
Поисковые инструменты
Постраничный вывод в DataGrid
Уменьшение размера swf с помощью удаленных библиотек
Накнулся на интересный пост Джеймса Ворда, в котором рассказано, как уменьшить размер выходного swf файла с помощью использования Runtime Shared Libraries (RSL) - удаленных библиотек. Вот перевод.
Flex 2 позволяет загружать эти библиотеки с других доменов. Подразумевается, что приложение будет указывать на какой-нибудь определенный набор библиотек, который браузер будет быстро доставать из кэша. Перед началом необходимо заметить, что это не поддерживается Adobe, хотя команда разработчиков и работает в этом направлении, пока это просто хак. Во-вторых, пока нет нормального централизованного хранилища для RSL- библиотек, они хранятся на моем сервере, который может быть взломан и вместо изначальных библиотек вы получите какие-нибудь опасные компоненты. Несмотря на эти препоны, этот способ удовлетворяет большинство приложений и позволяет значительно уменьшить их размер. Как же это применить?
Мною было создано три библиотеки: малая, средняя и большая. Библиотеки взаимодополняемы, то есть, если необходимо использовать среднюю, то загружать надо малую и среднюю. См. таблицу у автора.
1) Скачайте необходимые SWC для RSL
2) Измените build path проекта
2.1) Если вы компилируете с помощью Ant или командной строки, определите пути к библиотекам следующим образом:
flex2-sdk/bin/mxmlc -external-library-path+=build/framework-2_0_0_a-small.swc,
build/framework-2_0_0_a-medium.swc -runtime-shared-libraries=
http://ws.jamesward.org/framework-2_0_0_a-small.swf,
http://ws.jamesward.org/framework-2_0_0_a-medium.swf-o=
build/testHostedFlexLibs-medium.swf -file-specs=test/testHostedFlexLibs.mxml
2.2) Если вы используете Flex Builder, перейдите в Project -> Properties -> Flex Build Path -> Library Path -> Add SWC -> [добавьте необходимые SWC]. Затем выберите SWC’s RSL URL и нажмите кнопку Edit. Измените Link Type на "Runtime shared library (RSL)", введите правильный URL, уберите галку с "Auto extract checkbox", затем нажмите OK.
2.3) Если вы используете FDS, добавьте SWC в папку flex/user_classes и обновите runtime-shared-libraries соответственно в файле flex-config.xml.
3) Перекомпилируйте приложение (если этого не произошло автоматически) и размер файла значительно уменьшится!
4) Еще одна преграда - приложение будет работать только из интернета, потому что политика безопасности запрещает загружать внешние ресурсы.
среда, ноября 29, 2006
Поиск по коду as и mxml файлов
file:.mxml$ tabnavigator
file:.as$ displayobject
Отсюда
Четыре днюхи за неделю
20 - МК
23 - Дэн Иванов
26 - Рост
27 - мое:)
Всех поздравляю задним числом!
вторник, ноября 21, 2006
Использование data-driven виджетов
Форматирование чисел в AS3
Есть небольшая AS3 библиотека с полезными методами. Одним из них является вывод чисел, форматированных по маске. За это отвечает класс NumberFormat. Маски поддерживают следующие символы:
- 0 - место, заполненное числом или нулем
- # - место, заполненное числом или пробелом
- . - дробный разделитель. Выводится символ точки
или запятой - в зависимости от локали. - , - группировка символов. Выводится символ точки или запятой - в зависимости от
локали.
Рассмотрим следующую маску:
##,###.0000
Если эту маску применить к числам
1.2345
12.345
123.45
1234.5
12345
То они будут отображены в виде
1.2345
12.3450
123.4500
1,234.5000
12,345.0000
Задать маску числу можно следующими способами:
- создать эеземпляр NumberFormat:
var styler:NumberFormat = new NumberFormat("##,###.0000"); - использовать свойство mask:
styler.mask = "##.00";
var styler:NumberFormat = new NumberFormat("#,###,###,###");
trace(styler.format(1));
trace(styler.format(12));
trace(styler.format(123));
trace(styler.format(1234));
styler.mask = "#,###,###,###.0000";
trace(styler.format(12345));
trace(styler.format(123456));
trace(styler.format(1234567));
trace(styler.format(12345678));
trace(styler.format(123456789));
Числа будут выведены в следующем виде:
1
12
123
1,234
12,345.0000
123,456.0000
1,234,567.0000
12,345,678.0000
123,456,789.0000
Разделители и знаки дроби меняются на точки или запятые в зависимости от текущей локали автоматически. Но могут иногда быть ошибки определения локали. В
этом случае локаль можно определить руками, задав, например:
Locale.slanguage = "fr";
Во Франции, в качестве группировки применяются точки, а в качестве дробного разделителя запятые. Насколько я знаю, в России тоже самое, поэтому данную
установку можно использовать (или я ошибаюсь?).
При выполнении примеров не забудьте импортировать необходимые классы:
import ascb.util.NumberFormat;
import ascb.util.Locale;
Отслеживание реального фреймрейта
Установить свой фреймрейт можно с помощью команды компилятора:
mxmlc -default-frame-rate=50 HelloWorld.mxml
Но установка значение в 50 кадров в секунду вовсе не означает, что каждые 20 миллисекунд будет проигран кадр. Разные типы браузера, плеера, операционной системы дают разные результаты. Протестировать реальный фреймрейт можно с помощью следующего небольшого приложения:
<mx:ApplicationВзято у FARATA.
mx="http://www.adobe.com/2006/mxml"
layout="horizontal"
enterFrame="enterFrameHandler()">
<mx:Script>
<!--[CDATA[
var lastTime:int;
public function enterFrameHandler():void {
test.text = String(int(1000/(getTimer()-lastTime)));
lastTime=getTimer();
}
]]>
</mx:Script>
<mx:TextInput id="test" />
</mx:Application>
пятница, ноября 17, 2006
Коллекция уроков по Ruby on Rails
Эли Гринфилд почти закончил свой календарь
понедельник, ноября 13, 2006
Создание FDS Flex приложения с помощью FlashDevelop
вторник, ноября 07, 2006
250 темплейтов для RadRails
После скачивания откройте RadRails, перейдите в меню
Windows > Preferences > Ruby > Editor > Templates, выделите все элементы (ctrl+A), затем удалите их. Потом выберите Import и импортируйте ruby-rr-templates.xml.
Для импорта rhtml темплейтов зайдите в
Rails > Editiors > RHTML Editor > RHTML Templates, повторите туже процедуру и импортируйте rhtml-rr-templates.xml.
Обещано включить эти темплейты в следующий релиз RadRails.
понедельник, ноября 06, 2006
Загружаем эффекты, показанные на MAX 2006
четверг, ноября 02, 2006
Видеоуроки по Flex 2 и Red5
Компонент DisplayShelf
Пример разделен на три блока. Первый, компонент TiltingPane, получает любой элемент и применяет к нему '3d' эффект. Второй, компонент DisplayShelf, использует компонент TiltingPane для отображения элементов вдоль виртуальной полки, из которой можно выбирать элемент.
В примере проиллюстрирурованы:
- матричные трансформации
- graphics API
- маскирование
- манипуляции с битмапом
- темплейтинг
- item renderers
- интерфейс IList
- реализация dataProvider'ов
- анимация
Посмотреть DisplayShelf
Исходник
Загрузить
Отсюда