Archive for the ‘Mаразмы нашего городка’ Category
Sunday, November 23rd, 2008
Решил я сегодня за 5 минут наваять мега скринсейвер. Легким движения руки я создал супер приложение. Можете брать и делать скринсейверы вашими любимыми программами.
В процессе тестирования обнаружился баг — рисуя круг, мы его не всегда можем получить. Ниже приведены примеры, что именно получается:

FF, FP10: Счастливый клевер флешплеера

IE FP9: Хотел стать кругом, но мало каши кушал.

FF, FP10: Бинго! Вот он звездный час!
Готовый swf, для любителей помедитировать в браузере. Нужно запустить и смотреть, смотреть, и к вам придет озарение!
Исходники проекта, архив с бонусными скришотами(~600K) (полноразмерные, не порезаные).
Наслаждайтесь!
Posted in Flash Player, Mаразмы нашего городка | 6 Comments »
Tuesday, September 23rd, 2008
Пример приложения использующая исходники можно найти на сайте http://www.graviti.tv/blog/?p=46 (и http://www.graviti.tv/blog/?p=75 )
Но статья не о том как сделать кастомный хром, а неверном решении индийцев из адоб.
У кастомного хрома, как и у FlexChrome (showFlexChrome=”true”) есть проблемка, при максимайзе приложения оно выступает на 3 пиксела за экран во все стороны. При showFlexChrome=”true” как раз прячется скругление заголовка окна. Великолепный ход конем! :). При showFlexChrome=”true” это еще простительно, а вот когда у вас полностью свой кастом хром, то получается ужастно.
Как побороть это нормально я не нашел, пошел по простому выходу, вставил все приложение в отдельный компонент, а его сделал меньше текущего хрома ровно на 3 пх с каждой стороны)
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
showFlexChrome="false"
showStatusBar="false"
showGripper="true"
showTitleBar="false"
width="700" height="500" frameRate="45"
horizontalScrollPolicy="off" verticalScrollPolicy="off"
xmlns:local="*"
>
<local:AIRApplicationContent width="{width-6}"
height="{height-6}"
x="{3}" y="{3}"
filters="{[new DropShadowFilter(4,45,0,0.5)]}"
/>
</mx:WindowedApplication> |
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
showFlexChrome="false"
showStatusBar="false"
showGripper="true"
showTitleBar="false"
width="700" height="500" frameRate="45"
horizontalScrollPolicy="off" verticalScrollPolicy="off"
xmlns:local="*"
>
<local:AIRApplicationContent width="{width-6}"
height="{height-6}"
x="{3}" y="{3}"
filters="{[new DropShadowFilter(4,45,0,0.5)]}"
/>
</mx:WindowedApplication>
В качестве бонуса получил использование тени от окна не сильно напрягаясь 🙂
Posted in AIR, Flex Builder 3, Mаразмы нашего городка | 2 Comments »
Friday, September 5th, 2008
Есть замечательный компонент который может проигрывать гиф анимацию во флексе.
http://dougmccune.com/blog/2007/01/17/animatedgifloader/
Ведет он себя также как стандартный Image + умение проигрывать гиф анимацию.
Единственный его недостаток в том, что он не хочет работать с Flex 3.
Но есть способ заставить его это делать. Вся загвоздка в том, что ему нехватает нужных ресурсов (ResourceBundle), их(вернее его) просто убрали в Flex 3 фреймворке. И нам всего лишь нужно его добавить.
Рецепт:
создаем папку bundles/en_US/ в которую копируем файл {Билдер}/sdks/3.0.0/frameworks/projects/framework/bundles/en_US/src/containers.properties
и добавляем в него строку
outOfRange=out of range или по вкусу что вам угодно
И в опциях компилятора указываем:
-locale en_US -source-path=../bundles/{locale} -allow-source-path-overlap=true
Компилируем и все отлично!.
Posted in ActionScript 3.0, Flex, Mаразмы нашего городка | 3 Comments »
Sunday, August 3rd, 2008
Все люди разные.
Разные люди пораждают разные желания.
Хепи энд.
Posted in Mаразмы нашего городка | 4 Comments »
Tuesday, July 29th, 2008
Исходные данные:
- PSD файл, в котором 20 скинов аккуратно нарисованы, разложены по слоям, слои названы красивыми именами.
- Нужно использовать 9-slice scaling — скины имеют различные украшения
Цель: За короткий промежуток времени превратить PSD файл в CSS файл для flex приложения, используя минимум усилий.
Процесс. Замкнутый круг:
- Первый вариант — который мне пришел на ум это экспорт в флеш. Вариант прекрасный, на первый взляд. Все аккуратненько превращается в правильно названые мувиклипы, расставляем 9-slice scaling и получаем болт. А все потому, что нужно помнить, что 9-slice scaling не работает для битмап, только для вектора. В качестве бонуса придется еще писать CSS файл ручками.
- Попытка экспортировать из фотошопа скины по-слоям в виде PNG. Как это нормально сделать я так и не нашел. Во-первых по умолчанию фотошоп просто не поддерживает экспорт в PNG, для этого мне добрые люди посоветовали скрипты. Но эти скрипты экспортируют слой размером равным высоте и ширине исходного файла, кроме того уродливо именуют файлы (работу по переименованю выполнить всеравно придется). Дорабатывать эти скрипты напильником у меня небыло ни времени, ни желания. Даже если я нашел бы в себе силы это сделать, то все равно пришлось сочинять CSS файл и вручную считать/подгонять 9-slice scaling.
- Безумная попытка достать PNG файлы. Попытка выглядела так: фотошоп – флеш – софтник декомпилер. Она почти увенчалась успехом, были сохранены PNG и BMP:( файлы, естественно имена были image1, image2… вобщем я не стал разбираться почему часть была PNG часть в BMP. От извращений отказался.
Как я решил проблему:
Ни одна(!) из 3х попыток не привела к успеху. Оптимизировать процесс почеловечески не удалось. Поэтому я ручками сохранил и назвал каждый скин, правда делал я это из флеша — экономил на обрезку в фотошопе :). Затем ручками посчитал 9-slice scaling для каждого и вбил его в файл со стилем. Вобщем не самый рациональный способ, но другого я на то момент невидел.
Какие еще есть варианты?
- Использовать экстеншин к фотошопу для создания и экспорта скинов. Но там обязательно редактировать нужный шаблон. Если вы только начали, что рисовать то советую смотреть в сторону этого шаблона. В качестве недостатка — это огромнейшее количество файлов которые нужно потом ручками вбить в стиль (ну или найти где украсть подобный css-файл, я ненашел:), вернее украсть его можно здесь, спасибо Росту за наводку).
- Нарисовать все сразу в векторе например во флеше используя все тот же экстеншин и опять все вбить ручками.
- Нанять человека который за еду сделает это за вас.
Если не хочется вбивать все ручками можно попробовать истользовать редактор стилей в Flex Builder 3. Но: он не подхватывает заэмбеженые шрифты (говрит немогу и не переключается в визуальный редактор стилей), при выборе файла прописывает полный путь к нему, нельзя задать произвольные 9-slice scaling для разных состояний кнопки, ну иногда попросту задрачивает (попробуйте задать скины для табов у таб навигатора).
Выводы:
В нашем современном мире так и не научились ценить информацию, каждую крупицу информации, не говоря уже об ее больших объемах. Разработчики, вернее проектировщики, гоняться за галочками, но не хотят думать об удобстве обычных смертных. Они заставляют людей делать тупую рутинную работу, которую по определению просто обязан делать компьютер. Но иногда до проектировщиков долетает крик отчаяния людей и тут они пытаюсться сделать что-то полезное:).
Прежде чем браться за скинирование 3 раза подумайте как вы это будете делать. И только потом начинайте процесс генерирования скина. Иначе придеться делать очень много рутинной работы вместо “просто много”. 🙂
У меня такое впечатления что я, что-то упустил в этой жизни. Если это так то поделитесь своими секретами скинования, как оптимизировать процесс так чтобы нужно было совершать минимум телодвижений. Ну или хотя бы управлять процессом силой мысли.
Берем попкорн, ждем Термо…
Posted in Effective work, Flex Builder 3, Mаразмы нашего городка, Skinning | 13 Comments »