<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Внезапный Игрок</title>
<link>http://diomas.ru/</link>
<description>Заметки о разработке под flash-платформу</description>
<ttl>60</ttl>
<lastBuildDate>Fri, 30 Apr 2010 17:14:16 +0400</lastBuildDate>
<generator>InTerra Blog Machine</generator>
<item><title>Color Wheel</title>
<link>http://diomas.ru/2010/04/30/color_wheel/</link>
<description>&lt;p&gt;Недавно нам в проекте пришлось изрядно намучиться с цветовыми моделями, колесами и прочими HSV. Одной из задач было определение набора цветов гармоничных заданному. Такие штуки принято делать на основе цветового колеса по набору некоторых правил. Узнали много интересного, оказывается, то color wheel, на которое ссылался заказчик, основано не на RGB, а на RYB схеме (то есть в нем напротив красного находится зеленый, а не циановый). А мы-то думали, почему &lt;a href=&quot;http://kuler.adobe.com/&quot;&gt;Kuler&lt;/a&gt; рисует на схемах одни значения Hue, а градусы выводит другие. В результате для себя я сделал небольшую шпаргалку в виде инфографики на флеше:&lt;p&gt;

&lt;img class=&quot;transparent&quot; src=&quot;/entry/1000010/file/flash_plugin_exp.png&quot;/&gt;

&lt;p&gt;Неожиданно, правда? :)&lt;/p&gt;

&lt;p&gt;Не волнуйтесь, ваш компьютер не превратился в айпад, просто шучу.&lt;/p&gt;

&lt;a href=&quot;http://diomas.ru/2010/04/30/color_wheel/#cut1&quot; class=&quot;cut&quot;&gt; &lt;p&gt;Далее&amp;hellip;&lt;/p&gt; &lt;/a&gt;</description>
<pubDate>Fri, 30 Apr 2010 17:04:00 +0400</pubDate>
</item>
<item><title>Realaxy ActionScript Editor beta</title>
<link>http://diomas.ru/2010/04/11/realaxy_actionscript_editor/</link>
<description>&lt;p&gt;Пожалуй, я не могу отказаться от возможности поучаствовать в тестировании закрытой беты &lt;a href=&quot;https://realaxy.com/&quot;&gt;новой среды разработки под флеш-платформу&lt;/a&gt;, которая была заботливо выращена Иваном iv Дембицким и Евгением John Потапенко на плодородных землях Черногории.&lt;/p&gt;

&lt;p&gt;23 апреля на &lt;a href=&quot;http://creativefuture.ru/program&quot;&gt;Creative Future 2010&lt;/a&gt;, который, разумеется, пройдет в Москве, а не в Питере &lt;small&gt;/* тысяча чертей!!! */&lt;/small&gt; и куда мне скорее всего будет не выбраться, разработчикам будет представлена &lt;a href=&quot;https://realaxy.com/&quot;&gt;Realaxy ActionScript Editor&lt;/a&gt;. Честно говоря, у меня большие ожидания, связанные с Realaxy и связано это с рядом причин.&lt;/p&gt;

&lt;p&gt;Во-первых, интригующая и по-настоящему театральная пауза: между первыми разговорами и презентацией беты прошел уже год наверное. При этом кроме нескольких скринкастов и совершенно неинформативных (но забавных) подкастов из черногорского, так сказать, «офиса» никакой информации не было.&lt;/p&gt;

&lt;small&gt;&lt;p&gt;/* Скринкасты сейчас можно найти &lt;a href=&quot;http://vimeo.com/tag:realaxyeditor&quot;&gt;на vimeo&lt;/a&gt; у Дэна Иванова. */&lt;/p&gt;&lt;/small&gt;

&lt;p&gt;Во-вторых, это новый (по крайней мере для флеш-разработчиков) принцип: фактически, разработчик, работая с текстом на ActionScript, теперь на самом деле будет работать напрямую с байткодом для флеш-машины. То есть код будет все время находится в скомпилированном виде, готовым к выполнению.&lt;/p&gt;

&lt;p&gt;В-третьих, я уже какое-то время назад перебрался на своей домашней машине с Windows на Ubuntu. И если раньше дома меня вполне устраивал &lt;a href=&quot;http://www.flashdevelop.org/&quot;&gt;FlashDevelop&lt;/a&gt;, то сейчас у меня нет возможности его использовать. Купить Idea я все-таки не решился, уж больно она неповоротлива, да и не нужен мне такой комбайн. Flash Builder с точки зрения неповоротливости не уступает Идее, при этом я даже не вижу на сайте Адоб отдельной ссылки на Linux-версию. Играю пока c &lt;a href=&quot;http://code.google.com/p/minibuilder/&quot;&gt;MiniFlashBuilder&lt;/a&gt;'ом, который на данный момент умеет только подсветку кода и автокомплит. Надеюсь, Minibuilder догонит когда-нибудь FlashDevelop. Что же касается платных IDE, то Realaxy как раз «рискует» стать моим первым коммерческим домашним инструментом :)&lt;/p&gt;</description>
<pubDate>Sun, 11 Apr 2010 14:19:00 +0400</pubDate>
</item>
<item><title>Process</title>
<link>http://diomas.ru/2009/11/05/process/</link>
<description>&lt;p&gt;Задача распределения вычислений застала меня в те времена, когда я писал всякие html-генераторы на основе шаблонов. XML-файлы, с которыми я имел дело, были огромными и каждая рекурсия по дереву неизбежно приводила к вылету сообщения о превышении лимита на исполнение скрипта. К счастью, я тогда увидел у кого-то на flaser.ru нужное мне решение, где каждая итерация по узлу дерева вызывалась в последующем кадре. Я сделал так, чтобы за один кадр вызывалось несколько итераций, а потом переделал, чтобы это работало через &lt;code&gt;setInterval&lt;/code&gt;, а еще позже&amp;nbsp;&amp;mdash; через &lt;code&gt;Timer&lt;/code&gt;. В общем, я так и копипастил этот код с небольшими изменениями и был счастлив. Но когда в уже в десятый раз надо было делать очередной страшный парсер, я все-таки вынес все необходимое в отдельное решение, которое до сих пор использую для таких задач.&lt;/p&gt;

&lt;a href=&quot;http://diomas.ru/2009/11/05/process/#cut1&quot; class=&quot;cut&quot;&gt; &lt;img class=&quot;transparent&quot; src=&quot;/entry/1000008/file/example_app_window.png&quot;/&gt;&lt;p&gt;Далее&amp;hellip;&lt;/p&gt; &lt;/a&gt;</description>
<pubDate>Thu, 05 Nov 2009 15:09:00 +0300</pubDate>
</item>
<item><title>Распределение выполнения кода во времени</title>
<link>http://diomas.ru/2009/10/27/running_time_distributed_code/</link>
<description>&lt;p&gt;Извините за дебильное название, не знаю, как эту тему обозначить. Каждый из нас встречал сообщение плеера &lt;b&gt;«A script has executed for longer than the default timeout period of 15 seconds»&lt;/b&gt;. Можно надеяться на то, что пользователь добродушно скажет нашей флэшке: «конечно же давай, продолжай выполняться! вешай мой браузер, я потерплю». Или можно поменять у флэшки порог таймаута, который отведен на исполнение скрипта&amp;nbsp;&amp;mdash; это всего один байтик в SWF'ке поменять, тем более, что в AS3 даже метатэг есть для этого. Думаю, такие грязные мыслишки допускал каждый начинающий флэшер, прежде чем пересмотреть свой ацкий цикл или монструозную рекурсию.&lt;/p&gt;

&lt;p&gt;Даже не представляю, о чем думал тот инженер флэш плеера, который решил позволить разработчикам менять этот параметр. И проблема здесь совсем не в том, что разработчик не может выполнить какой-то код за 15 секунд&amp;nbsp;&amp;mdash; проблема в том, что пользователь будет в течение этих 15 секунд иметь дело с абсолютно не реагирующим на него приложением.&lt;/p&gt;

&lt;a href=&quot;http://diomas.ru/2009/10/27/running_time_distributed_code/#cut1&quot; class=&quot;cut&quot;&gt; Читать&amp;hellip; &lt;/a&gt;</description>
<pubDate>Tue, 27 Oct 2009 23:07:00 +0300</pubDate>
</item>
<item><title>FlexCamp '09</title>
<link>http://diomas.ru/2009/05/29/flexcamp09/</link>
<description>&lt;p&gt;В прошедший вторник я съездил туда, куда не смог попасть в прошлом году. Российский FlexCamp как и в прошлый раз прошел на базе отдыха &quot;Спутник&quot; в Подмосковье.&lt;/p&gt;

&lt;a href=&quot;http://diomas.ru/2009/05/29/flexcamp09/#cut1&quot; class=&quot;cut&quot;&gt; &lt;img src=&quot;http://lh4.ggpht.com/_fj9jTh3VQCk/Sh2ibj8ExMI/AAAAAAAAAnM/suMolpFpCmk/s320/DSC_0064.JPG&quot;&gt;&lt;p&gt;Далее&amp;hellip;&lt;/p&gt; &lt;/a&gt;</description>
<pubDate>Fri, 29 May 2009 13:14:00 +0400</pubDate>
</item>
<item><title>Комментарии кириллицей</title>
<link>http://diomas.ru/2009/05/16/cyrillic_comments/</link>
<description>&lt;p&gt;Залез тут в такие места проекта, которые писались уже года полтора назад. Нашел много смешного кода. Эх... какие времена были!&lt;/p&gt;

&lt;p&gt;Вот, например, коммент к одной фабрике:&lt;/p&gt;
&lt;textarea name=&quot;code&quot; class=&quot;as3:nocontrols:nogutter&quot;&gt;/**
* Все объекты на плане создаются здесь!!!!
* никаких самостоятельных new Траляля() иначе бардак...
*/&lt;/textarea&gt;

&lt;p&gt;Или вот такие места:&lt;/p&gt;
&lt;textarea name=&quot;code&quot; class=&quot;as3:nocontrols:nogutter&quot;&gt;//TODO: Perimeter и Square считать по-честному
roomIdeaVO.Perimeter = 100;
roomIdeaVO.Square = 100;&lt;/textarea&gt;

&lt;p&gt;Комментарии кириллицей &lt;i&gt;кагбэ говорят нам&lt;/i&gt;, ну это временно, потом все равно переписывать. Тогда писали с надеждой, что вот-вот появится свободная минутка и все приведем в порядок. Минутки так и не появились :)&lt;/p&gt;

&lt;p&gt;З.Ы. Сегодня отчистил проект от 60 бессмысленных классов.&lt;/p&gt;</description>
<pubDate>Sat, 16 May 2009 15:27:00 +0400</pubDate>
</item>
<item><title>Разумное использование метода drawTriangles()</title>
<link>http://diomas.ru/2009/03/25/rational_usage_of_drawtriangles_method/</link>
<description>&lt;p&gt;С выходом 10-ки нам обещали встроенную в плеер поддержку 3D. Однако почему-то не все разработчики 3D-движков кинулись менять свои самодельные классы типа &lt;code&gt;Number3D&lt;/code&gt; на аналоги, предлагаемые самим плеером. Казалось бы, вот он, стандарт, используйте предложенные решения, не плодите функциональность, не делайте динамических движков с привязкой к конкретному 3D-движку (камень в огород jiglibflash). Но не тут-то было: Адоб умудрился сделать свои классы достаточно неудобными, чтобы они не стали использоваться по назначению. &lt;code&gt;Vector3D&lt;/code&gt;, к слову, взял плохой пример с &lt;code&gt;Point&lt;/code&gt; и на каждый чих типа &lt;code&gt;add&lt;/code&gt; или &lt;code&gt;crossProduct&lt;/code&gt; создает новый экземпляр объекта, что, как мы знаем, довольно накладно. Но я хочу обратить внимание на тот самый метод &lt;code&gt;drawTriangles&lt;/code&gt;, на который возлагались основные надежды 3D-шников.&lt;/p&gt;

&lt;a href=&quot;http://diomas.ru/2009/03/25/rational_usage_of_drawtriangles_method/#cut1&quot; class=&quot;cut&quot;&gt; Далее&amp;hellip; &lt;/a&gt;</description>
<pubDate>Wed, 25 Mar 2009 19:50:00 +0300</pubDate>
</item>
<item><title>«Чапаев»</title>
<link>http://diomas.ru/2009/02/16/chapaev/</link>
<description>&lt;p&gt;Интересно поиграть с разными динамическими движками, когда на это есть время, однако, я не могу сказать, что меня сильно интересует, что там у них внутри (в отличие от 3D-движков). Тем не менее, однажды мне пришлось окунуться туда, куда я до этого окунаться не расчитывал. Задание было такое: сделать заготовку (без правил, вылета за поле, подсчета очков и прочего) для игры &lt;a href=&quot;http://ru.wikipedia.org/wiki/Чапаев_(игра)&quot;&gt;«Чапаев»&lt;/a&gt; с отображением в изометрии. Это дело 2-3 часов, если, конечно, вы хоть что-то слышали о box2d, ape или, скажем, motor2 или, если это не тестовое задание, которое вам дали, чтобы понять, как там у вас дела с математикой.&lt;/p&gt;

&lt;a href=&quot;http://diomas.ru/2009/02/16/chapaev/#cut1&quot; class=&quot;cut&quot;&gt; &lt;img src=&quot;/entry/1000002/file/preview.png&quot;/&gt;&lt;p&gt;Далее&amp;hellip;&lt;/p&gt; &lt;/a&gt;</description>
<pubDate>Mon, 16 Feb 2009 11:31:00 +0300</pubDate>
</item>
<item><title>Еще один flash-движок для расчета динамики в 3D</title>
<link>http://diomas.ru/2009/01/13/jiglibflash/</link>
<description>&lt;p&gt;В отличие от плоской физики, для которой у флешера есть уже достаточный набор инструментов, расчетом динамики твердых тел в трехмерном пространстве до этого занимался только &lt;a href=&quot;http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/&quot;&gt;Wow-engine&lt;/a&gt;. Сейчас, вроде, и Альтернатива занялась расчетом физики, но мне об этом пока ничего не известно. Так или иначе, теперь у нас появился еще один движок: &lt;a href=&quot;http://code.google.com/p/jiglibflash/&quot;&gt;jiglibflash&lt;/a&gt;.&lt;p&gt;

&lt;p&gt;Пока демок очень мало (две) и судить о производительности трудно. В отличии от собранного с нуля (частично взятого из APE) WOW, jiglibflash &amp;ndash; это порт существующей C++ библиотеки, автор которой, в свою очередь, плясал от &lt;a href=&quot;http://www.cs.ubc.ca/~rbridson/docs/rigid_bodies.pdf&quot;&gt;этой статьи&lt;/a&gt;.&lt;/p&gt;</description>
<pubDate>Tue, 13 Jan 2009 13:21:00 +0300</pubDate>
</item>
<item><title>У третьего FlashDevelop появился первый релиз кандидат</title>
<link>http://diomas.ru/2008/12/24/flashdevelop_release_candidate/</link>
<description>&lt;p&gt;Ну чего тут говорить, это лучшая IDE из всех бесплатных альтернатив, которых, собственно, нет. FlashDevelop растет на глазах, теперь &lt;a href=&quot;http://www.flashdevelop.org/community/viewtopic.php?f=11&amp;t=4041&quot;&gt;еще больше код-генераторов&lt;/a&gt;! Да здравствует ctrl+shift+1!&lt;/p&gt;

&lt;p&gt;Кстати, обратите внимание на &lt;b&gt;future plans: finish the AS3 debugger, investigate profiling&lt;/b&gt;. Похоже, Билдер должен готовится уйти на свалку. По крайней мере с windows-машин. Да даже сейчас в паре с &lt;a href=&quot;http://arthropod.stopp.se/&quot;&gt;хорошим трейсером&lt;/a&gt; FD уже является замечательным инструментом.&lt;/p&gt;

&lt;p&gt;P.S. Забыл отметить его нетребовательность к ресурсам. FD ведет себя очень шустро и, к тому же, портабелен. А для небольших проектов я его легко использую на своем eeePC.&lt;/p&gt;</description>
<pubDate>Wed, 24 Dec 2008 09:12:00 +0300</pubDate>
</item>

</channel>
</rss>
