<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Пастила.</title>
	<atom:link href="http://pastila.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://pastila.org</link>
	<description>Блог flash-разработчика</description>
	<lastBuildDate>Mon, 10 Oct 2011 05:16:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Вопрос: приложения для Facebook</title>
		<link>http://pastila.org/flash/vopros-prilozheniya-facebook/</link>
		<comments>http://pastila.org/flash/vopros-prilozheniya-facebook/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 21:23:36 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Flash, Actionscript 3]]></category>
		<category><![CDATA[Записки]]></category>
		<category><![CDATA[Социальное]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[graph]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=281</guid>
		<description><![CDATA[Назрела статья о работе с фейсбуком, так как материала на русском достаточно мало, понятного и того меньше. Статья будет описывать всё от создания приложения в девелоперском разделе, до подключения с помощью PHP и работы с GraphAPI посредством AS3. Ну и суть вопроса: кому-нибудь эта статья вообще нужна?]]></description>
			<content:encoded><![CDATA[<p>Назрела статья о работе с фейсбуком, так как материала на русском достаточно мало, понятного и того меньше.<br />
Статья будет описывать всё от создания приложения в девелоперском разделе, до подключения с помощью PHP и работы с GraphAPI посредством AS3.</p>
<p>Ну и суть вопроса: кому-нибудь эта статья вообще нужна?</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/flash/vopros-prilozheniya-facebook/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>FDT 5: Бесплатная версия и цены</title>
		<link>http://pastila.org/news/fdt5_prices/</link>
		<comments>http://pastila.org/news/fdt5_prices/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 10:07:29 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Новости]]></category>
		<category><![CDATA[fdt]]></category>
		<category><![CDATA[fdt5]]></category>
		<category><![CDATA[ide]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=277</guid>
		<description><![CDATA[Сегодня стала доступна информация о том, что разработчики FDT переходят на новую модель продажи своего продукта. Во-первых, версию FDT Pure и FDT Plus теперь заменит бесплатная версия FDT Free. А, во-вторых, на версию Max цена установлена теперь в районе 499 евро (примерно 20 тыс. рублей). Естественно самые вкусные вещи, такие как: рефакторинг перемещений, переименований, дебаггер, [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня стала доступна информация о том, что разработчики FDT переходят на новую модель продажи своего продукта.<br />
Во-первых, версию FDT Pure и FDT Plus теперь заменит бесплатная версия FDT Free.<br />
А, во-вторых, на версию Max цена установлена теперь в районе 499 евро (примерно 20 тыс. рублей).</p>
<p>Естественно самые вкусные вещи, такие как: рефакторинг перемещений, переименований, дебаггер, профайлер и launcher chain остаются в Max версии, но в целом новость радостная.<br />
Хотя, возможно и то, что разработчики пересмотрят набор бесплатного функционала, и пользователи бесплатной версии получат как минимум хороший рефакторинг.</p>
<p>Обо всё подробнее можно почитать в <a href="http://fdt.powerflasher.com/blog/2011/09/the-idea-behind-fdt-5/" title="FDT 5 Blog: The Idea behind FDT 5 and FDT Free" target="_blank">официальном блоге</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/news/fdt5_prices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Релиз CASALib 1.4.0</title>
		<link>http://pastila.org/flash/zapiski/reliz-casalib/</link>
		<comments>http://pastila.org/flash/zapiski/reliz-casalib/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 19:26:29 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Записки]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[casalib]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[lib]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=267</guid>
		<description><![CDATA[Запись для «слоупоков» вроде меня. 17 июня вышел «свежий» релиз замечательной библиотеки под названием CASALib, что содержит достаточное количество, необходимых для работы разработчиков, классов, которые существенно облегчают разработку. Из основных особенностей хочу выделить: Класс ListenerManager, что позволяет быстро и просто добавить к любому классу наследуемому от EventDispatcher возможности удаления всех слушателей, удаления слушателей для определенно [...]]]></description>
			<content:encoded><![CDATA[<p><em>Запись для «слоупоков» вроде меня.</em><br />
17 июня вышел «свежий» релиз замечательной библиотеки под названием CASALib, что содержит достаточное количество, необходимых для работы разработчиков, классов, которые существенно облегчают разработку.</p>
<p>Из основных особенностей хочу выделить: </p>
<ol>
<li>Класс <a href="http://as3.casalib.org/releases/1.4.0/docs/org_casalib_events_ListenerManager.html" title="ListenerManager" target="_blank">ListenerManager</a>, что позволяет быстро и просто добавить к любому классу наследуемому от EventDispatcher возможности удаления всех слушателей, удаления слушателей для определенно типа события, и т.д. </li>
<li>Удобные классы загрузки любых данных</li>
<li>Готовые шаблоны для создания классов с деструкторами</li>
<li>Классы дисплей-объектов (CasaSprite, CasaMovieClip), в функционал которых вложены функции удаления всех детей, из уничтожения (+ чудесная плюшка &#8212; рекурсивное удаление и деструкция)</li>
</ol>
<p>В целом крайне полезная библиотека, на её основе собственно базируется всё, что я пишу.</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/flash/zapiski/reliz-casalib/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Получение данных из XML (E4X)</title>
		<link>http://pastila.org/flash/xml-e4x/</link>
		<comments>http://pastila.org/flash/xml-e4x/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 00:24:43 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Flash, Actionscript 3]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[e4x]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=254</guid>
		<description><![CDATA[Как показывает практика, далеко не все знают об использовании оператора «..» и фильтрации при работе с XML. Для этого существуют очень удобные средства E4X (ECMAScript for XML) Оператор «..» Данный оператор позволяет получать данные потомков дерева XML вне зависимости от глубины их нахождения. На примере: У нас есть категоризованный список продуктов: &#60;food&#62; &#60;vegetables&#62; &#60;item caloric=&#34;2&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>Как показывает практика, далеко не все знают об использовании оператора «..» и фильтрации при работе с XML. Для этого существуют очень удобные средства <a href="http://ru.wikipedia.org/wiki/ECMAScript_for_XML" title="ECMAScript для XML" target="_blank">E4X </a>(ECMAScript for XML)</p>
<h3>Оператор «..»</h3>
<p>Данный оператор позволяет получать данные потомков дерева XML вне зависимости от глубины их нахождения.</p>
<p>На примере:<br />
У нас есть категоризованный список продуктов:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;food<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;vegetables<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">caloric</span>=<span style="color: #ff0000;">&quot;2&quot;</span> <span style="color: #000066;">isDietic</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>tomato<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">caloric</span>=<span style="color: #ff0000;">&quot;40&quot;</span> <span style="color: #000066;">isDietic</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>potato<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/vegetables<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;fruits<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">caloric</span>=<span style="color: #ff0000;">&quot;4&quot;</span> <span style="color: #000066;">isDietic</span>=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>orange<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
   <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">caloric</span>=<span style="color: #ff0000;">&quot;26&quot;</span> <span style="color: #000066;">isDietic</span>=<span style="color: #ff0000;">&quot;false&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>apple<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/fruits<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/food<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Нам необходимо получить полностью все продукты вне зависимости от их категории:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> foodItems <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">..</span>item<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #0033ff; font-weight: bold;">each</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> item <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XML</span> <span style="color: #0033ff; font-weight: bold;">in</span> foodItems<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
  <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>item<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>На выходе получим:</p>
<pre>
tomato
potato
orange
apple
</pre>
<p><span id="more-254"></span>В сочетании с @ можно получить так же атрибуты:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> foodItems <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">..</span>item<span style="color: #000066; font-weight: bold;">.</span>@caloric<span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Такая запись выдаст абсолютно все атрибуты caloric, вне зависимости от того в каком элементе дерева они находятся</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> foodItems <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">..</span>@caloric<span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Ну и для полной ясности.<br />
Данная запись выдаст только фрукты:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> foodItems <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">.</span>fruits<span style="color: #000066; font-weight: bold;">..</span>item<span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>В случае если осталось недопонимание, вы всегда можете ознакомиться с <a href="http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/operators.html#descendant_accessor" title="Оператор доступа к потомкам" target="_blank">официальной документацией</a>.</p>
<h3>Фильтрация данных XML.</h3>
<p>Фильтрация позволяет получить только те данные которые необходимы, а не все подряд. Осуществляется она при помощи указания данных в скобках.</p>
<p>Имеется список фильмов, которые мы можем купить в разных интернет магазинах:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;films<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">price</span>=<span style="color: #ff0000;">&quot;99.9&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Batman and Robbin vs Darkwing Duck<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ozon.ru<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">price</span>=<span style="color: #ff0000;">&quot;110.99&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Желтый чемоданчик<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ozon.ru<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">price</span>=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Валентайн Понтифик. Экранизация.<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>amazon.com<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/films<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Нам необходимо получить фильмы которые продаются только в магазине ozon.ru.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> items <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">..</span>item<span style="color: #000066; font-weight: bold;">.</span><span style="color: #000000;">&#40;</span>shop == <span style="color: #990000;">&quot;ozon.ru&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #0033ff; font-weight: bold;">each</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> item <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XML</span> <span style="color: #0033ff; font-weight: bold;">in</span> items<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
  <span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span>item<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>На выходе получим:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">price</span>=<span style="color: #ff0000;">&quot;99.9&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Batman <span style="color: #ddbb00;">&amp;amp;</span> Robbin vs Darkwing Duck<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ozon.ru<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;item</span> <span style="color: #000066;">price</span>=<span style="color: #ff0000;">&quot;110.99&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Желтый чемоданчик<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/name<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>ozon.ru<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/shop<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/item<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Фильмы, которые стоят меньше ста рублей:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> items <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">..</span>item<span style="color: #000066; font-weight: bold;">.</span><span style="color: #000000;">&#40;</span>@price <span style="color: #000066; font-weight: bold;">&lt;</span> <span style="color: #000000; font-weight:bold;">100</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Фильмы, которые стоят больше ста рублей и продаются только в amazon.com:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> items <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XMLList</span> = xml<span style="color: #000066; font-weight: bold;">..</span>item<span style="color: #000066; font-weight: bold;">.</span><span style="color: #000000;">&#40;</span>@price <span style="color: #000066; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight:bold;">100</span> <span style="color: #000066; font-weight: bold;">&amp;&amp;</span> shop == <span style="color: #990000;">&quot;amazon.com&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>В случае если осталось недопонимание, вы всегда можете ознакомиться с <a href="http://help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/operators.html#parentheses_(XML)" target="_blank">официальной документацией</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/flash/xml-e4x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Передача параметров во flashVars приложений ВКонтакте</title>
		<link>http://pastila.org/asocial/vkflashvar/</link>
		<comments>http://pastila.org/asocial/vkflashvar/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 19:54:50 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Социальное]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=250</guid>
		<description><![CDATA[Во время работы у меня возникла необходимость передать приложению ВКонтакте кастомные flashVars, а именно url откуда грузить данные, чтобы была возможность поменять при желании ссылку, а собирать iframe не хотелось для этой задачи (времени было мало), плюс были некоторые ограничения. Нашел довольно простой выход: В настройках приложения в поле &#171;Первый запрос к API&#187; пишем что-нибудь [...]]]></description>
			<content:encoded><![CDATA[<p>Во время работы у меня возникла необходимость передать приложению ВКонтакте кастомные flashVars, а именно url откуда грузить данные, чтобы была возможность поменять при желании ссылку, а собирать iframe не хотелось для этой задачи (времени было мало), плюс были некоторые ограничения.</p>
<p>Нашел довольно простой выход:</p>
<p>В настройках приложения в поле &#171;Первый запрос к API&#187; пишем что-нибудь вроде:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #004993;">method</span>=execute<span style="color: #000066; font-weight: bold;">&amp;</span>code=
<span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">url</span> = <span style="color: #990000;">&quot;http://dataserver.com/config.xml&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #000000;">&#123;</span>configURL<span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">url</span><span style="color: #000000;">&#125;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>В итоге во flashVars получим параметр под именем <em>&#171;api_result&#187;</em> с xml следующего содержания:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;response<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;configURL<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://dataserver.com/config.xml<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/configURL<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/response<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://pastila.org/asocial/vkflashvar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сброс letterSpacing при изменении текста</title>
		<link>http://pastila.org/flash/sbros-letterspacing-izmenenii/</link>
		<comments>http://pastila.org/flash/sbros-letterspacing-izmenenii/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 14:18:48 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Flash, Actionscript 3]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=233</guid>
		<description><![CDATA[Столкнулся с багом когда при изменении текста у текстового поля, сбрасывается установленный letterSpacing. Лечение: var textFormat : TextFormat = textField.getTextFormat&#40;&#41;; textField.text = &#34;New text&#34;; textField.setTextFormat&#40;textFormat&#41;; Не особо красивое решение, но и баг не красавец.]]></description>
			<content:encoded><![CDATA[<p>Столкнулся с багом когда при изменении текста у текстового поля, сбрасывается установленный letterSpacing.<br />
Лечение:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> textFormat <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">TextFormat</span> = textField<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">getTextFormat</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
textField<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> = <span style="color: #990000;">&quot;New text&quot;</span><span style="color: #000066; font-weight: bold;">;</span>
textField<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">setTextFormat</span><span style="color: #000000;">&#40;</span>textFormat<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Не особо красивое решение, но и баг не красавец.</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/flash/sbros-letterspacing-izmenenii/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Быстрое внедрение шрифтов [Embed]</title>
		<link>http://pastila.org/flash/bystroe-vnedrenie-shriftov-embed/</link>
		<comments>http://pastila.org/flash/bystroe-vnedrenie-shriftov-embed/#comments</comments>
		<pubDate>Thu, 31 Mar 2011 09:28:20 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Flash, Actionscript 3]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[embed]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[внедрение]]></category>
		<category><![CDATA[встраивание]]></category>
		<category><![CDATA[шрифты]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=226</guid>
		<description><![CDATA[Уже ни раз писалось о встраивании шрифтов, поэтому я не буду описывать весь процесс а покажу лишь простой и удобный прием на примере кода. package assets &#123; import flash.display.Sprite; import flash.system.Security; import flash.text.Font; import flash.utils.describeType; &#160; public class FontsAsset extends Sprite &#123; &#91;Embed&#40;source=&#34;../../../res/fonts/MyriadPro-Semibold.otf&#34;, mimeType=&#34;application/x-font-truetype&#34;, fontName=&#34;MyriadSemibold&#34;, unicodeRange=&#34;U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+02C6,U+02DC,U+2013-U+2014,U+2018-U+201A,U+201C-U+201E,U+2020-U+2022,U+2026,U+2030,U+2039-U+203A,U+20AC,U+2122,U+0401,U+0410-U+044F&#34;, embedAsCFF=&#34;false&#34;&#41;&#93; // Uppercase [A..Z] ; Lowercase [a..z] ; Numerals [...]]]></description>
			<content:encoded><![CDATA[<p>Уже ни раз писалось о встраивании шрифтов, поэтому я не буду описывать весь процесс а покажу лишь простой и удобный прием на примере кода.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #9900cc; font-weight: bold;">package</span> assets <span style="color: #000000;">&#123;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Sprite</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.system</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Security</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.text</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Font</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.utils</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">describeType</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> FontsAsset <span style="color: #0033ff; font-weight: bold;">extends</span> <span style="color: #004993;">Sprite</span> <span style="color: #000000;">&#123;</span>
		<span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;../../../res/fonts/MyriadPro-Semibold.otf&quot;</span><span style="color: #000066; font-weight: bold;">,</span> mimeType=<span style="color: #990000;">&quot;application/x-font-truetype&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">fontName</span>=<span style="color: #990000;">&quot;MyriadSemibold&quot;</span><span style="color: #000066; font-weight: bold;">,</span> unicodeRange=<span style="color: #990000;">&quot;U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+02C6,U+02DC,U+2013-U+2014,U+2018-U+201A,U+201C-U+201E,U+2020-U+2022,U+2026,U+2030,U+2039-U+203A,U+20AC,U+2122,U+0401,U+0410-U+044F&quot;</span><span style="color: #000066; font-weight: bold;">,</span> embedAsCFF=<span style="color: #990000;">&quot;false&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #009900; font-style: italic;">// Uppercase [A..Z] ; Lowercase [a..z] ; Numerals [0..9] ; Punctuation [!@#%...] ; Basic Latin ; chars=&quot;АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя&quot;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #6699cc; font-weight: bold;">var</span> MyriadSemibold <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Class</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
		<span style="color: #000000;">&#91;</span>Embed<span style="color: #000000;">&#40;</span><span style="color: #004993;">source</span>=<span style="color: #990000;">&quot;../../../res/fonts/MyriadPro-Regular.otf&quot;</span><span style="color: #000066; font-weight: bold;">,</span> mimeType=<span style="color: #990000;">&quot;application/x-font-truetype&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">fontName</span>=<span style="color: #990000;">&quot;MyriadRegular&quot;</span><span style="color: #000066; font-weight: bold;">,</span> unicodeRange=<span style="color: #990000;">&quot;U+0020-U+002F,U+0030-U+0039,U+003A-U+0040,U+0041-U+005A,U+005B-U+0060,U+0061-U+007A,U+007B-U+007E,U+02C6,U+02DC,U+2013-U+2014,U+2018-U+201A,U+201C-U+201E,U+2020-U+2022,U+2026,U+2030,U+2039-U+203A,U+20AC,U+2122,U+0401,U+0410-U+044F&quot;</span><span style="color: #000066; font-weight: bold;">,</span> embedAsCFF=<span style="color: #990000;">&quot;false&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#93;</span>
		<span style="color: #009900; font-style: italic;">// Uppercase [A..Z] ; Lowercase [a..z] ; Numerals [0..9] ; Punctuation [!@#%...] ; Basic Latin ; chars=&quot;АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя&quot;</span>
		<span style="color: #0033ff; font-weight: bold;">public</span> static <span style="color: #6699cc; font-weight: bold;">var</span> MyriadRegular <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Class</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
		<span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> FontsAsset<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
			<span style="color: #004993;">Security</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">allowDomain</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;*&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
			<span style="color: #6699cc; font-weight: bold;">var</span> xml <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">XML</span> = <span style="color: #004993;">describeType</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
			<span style="color: #0033ff; font-weight: bold;">for</span> <span style="color: #000000;">&#40;</span><span style="color: #6699cc; font-weight: bold;">var</span> i <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">uint</span> = <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">;</span> i <span style="color: #000066; font-weight: bold;">&lt;</span> <span style="color: #004993;">XMLList</span><span style="color: #000000;">&#40;</span>xml<span style="color: #000000;">&#91;</span><span style="color: #990000;">&quot;variable&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">length</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> i<span style="color: #000066; font-weight: bold;">++</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span>
				<span style="color: #004993;">Font</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">registerFont</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000000;">&#91;</span><span style="color: #004993;">XMLList</span><span style="color: #000000;">&#40;</span>xml<span style="color: #000000;">&#91;</span><span style="color: #990000;">&quot;variable&quot;</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#91;</span>i<span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">.</span>@<span style="color: #004993;">name</span><span style="color: #000000;">&#93;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
			<span style="color: #000000;">&#125;</span>
		<span style="color: #000000;">&#125;</span>
	<span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Собственно встроить шрифтов можно сколько угодно, в коде ничего менять не придется кроме добавления строк описывающих само встраивание.<br />
Чтобы шрифты отображались в самом приложении достаточно будет в конструкторе создать новый экземпляр FontsAsset.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">new</span> FontsAsset<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<blockquote><p>
Конечно не стоит забывать о использовании textField.embedFonts.
</p></blockquote>
<p>Так же вы можете скомпилировать этот asset как отдельный swf и свободно подгружать его при необходимости.</p>
<p><em>Метод позаимствован (а потом модифицирован) у Font Library Creator&#8217;a среды разработки <a href="http://www.fdt.powerflasher.com/">Powerflasher FDT</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/flash/bystroe-vnedrenie-shriftov-embed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Утечки памяти и их устранение</title>
		<link>http://pastila.org/flash/udalenie-obektov-utechki-pamyati-vo-flash/</link>
		<comments>http://pastila.org/flash/udalenie-obektov-utechki-pamyati-vo-flash/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 21:39:05 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Flash, Actionscript 3]]></category>
		<category><![CDATA[Статьи]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[leaks]]></category>
		<category><![CDATA[leaks as3]]></category>
		<category><![CDATA[memory leaks]]></category>
		<category><![CDATA[profiler]]></category>
		<category><![CDATA[оптимизация]]></category>
		<category><![CDATA[память]]></category>
		<category><![CDATA[утечки]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=104</guid>
		<description><![CDATA[Удаление объектов. Утечки памяти во Flash.]]></description>
			<content:encoded><![CDATA[<p><strong>Запись была переработана и обновлена.</strong></p>
<h2>1. Введение</h2>
<p>Многие начинающие флэшеры, как и я в свое время, не имеют представления об освобождении памяти от использованных, либо недооценивают данный раздел программирования.<br />
В ходе разработки приложений объекты, которые были использованы и более не являются необходимыми в большинстве случаев остаются в памяти, если не позаботиться об их уничтожении. Оставаясь в памяти «мусор» может вызвать проблемы с производительностью, что для конечного пользователя не окажется радостным событием.<br />
В данной статье раскрываются методы очистки памяти от «мусора».</p>
<p><span id="more-104"></span></p>
<h2>2. Откуда берется мусор, и как образуются утечки памяти (memory leaks)?</h2>
<p>Во as3 вы никогда не работаете напрямую с объектом (классы, массивы и т.д.), каждый раз вы обращаетесь по ссылке к данному классу.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> instanceLink <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Sprite</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>В данном примере мы создаем новый экземпляр класса Sprite, и instanceLink есть ничто иное как ссылка указывающая на данный экземпляр класса.</p>
<h3>2.1 Мертвые объекты</h3>
<p>AS3 не предоставляет «нативного» (native) метода для уничтожения текущего экземпляра класса, то есть деструктора. Вместо тотального контроля памяти программистом, как это реализовано например в C++, используется механизм под названием <em>сборщик мусора</em> (Garbage Collector), который очищает память от &#171;мертвых объектов&#187; при каждой итерации. Мертвым объектом считается, тот на который не существует ни одной ссылки.</p>
<p>Таким образом, если мы напишем:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> instanceLink <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Sprite</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #6699cc; font-weight: bold;">var</span> doubleLink <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Sprite</span> = instanceLink<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
instanceLink = <span style="color: #0033ff; font-weight: bold;">null</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>&#8230;то экземпляр класса Sprite не будет удален из памяти, потому что doubleLink все еще указывает на него.</p>
<h3>2.2 Список отображения</h3>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">secondSprite<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>instanceLink<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
instanceLink = <span style="color: #0033ff; font-weight: bold;">null</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>В список отображения (display list) secondSprite заносится экземпляр спрайта, даже после очищения ссылки на экземпляр, он никуда не денется и из памяти удален не будет, так как ссылка на него находится в display list&#8217;e, следовательно чтобы удалить объект из памяти необходимо убрать его из списка отображения secondSprite.</p>
<blockquote><p>Стоит заметить, что в в случае если secondSprite будет удален со сцены и ссылки на него будут уничтожены, то сборщик мусора рано или поздно соберет и его и instanceLink, даже если instanceLink будет находиться в списке отображения secondSprite. Это произойдет потому, что secondSprite и instanceLink по сути являются мертвыми объектами так как ссылка на instanceLink содержится только в мертвом объекте, а следовательно она недействительна.</p>
<p><em>Но стоит избегать этой логики при программировании, так как garbage collector&#8217;у понадобится больше одной итерации для того, чтобы определить, что instanceLink готов к уничтожению, следовательно на операцию очистки потратится больше ресурсов и процессорного времени.</em></p></blockquote>
<h3>2.3 Слушатели событий</h3>
<p>Все та же проблема ожидает вас при подписке на прослушивание событий объектов (addEventListener). Если вы подписались на событие и не удалите слушателя перед очисткой ссылок на объект, то после очистки объект оных объект так и останется в памяти и будет функционировать, так как имеется ссылка на него в виде подписки.</p>
<p>Избежать этого можно двумя путями:</p>
<ol>
<li>Использовать weakReference (мягкую ссылку) при подписке

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">object<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">,</span> listener<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">false</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Мягкая ссылка означает, что в случае если сборщик мусора решит проверить можно ли удалить object, то данная подписка на событие не воспрепятствует его удалению.</li>
<li>Самостоятельно удалив слушателя:

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">object<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">removeEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">,</span>listener<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

</li>
</ol>
<blockquote><p><em>Стоит избегать использования мягких ссылок там, где это не является поистине необходимым, так как сборщик мусора может уничтожить объект до того, как он выполнит свои обязанности.</em></p></blockquote>
<blockquote><p>Необходимо отметить что для экранных объектов не обязательно удалять прослушивание событий от мышки, при удалении ссылок, так как garbage collector самостоятельно &#171;обрежет&#187; эту связь, но опять же это отнимет больше ресурсов, нежели при ручной отписке от событий.</p></blockquote>
<h3>2.4 Мягкие ссылки</h3>
<p>Помимо мягких ссылок в подписке на события, можно использовать их и в Dictionary, для этого при создании экземпляра Dictionary параметр weakKeys равным true.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> dict <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #004993;">Dictionary</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Dictionary</span><span style="color: #000000;">&#40;</span><span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Это означает, что ключи (!) dictionary будут использоваться в качестве мягких ссылок, а не жестких. То есть:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">dict<span style="color: #000000;">&#91;</span>instanceLink<span style="color: #000000;">&#93;</span> = <span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<p>Не заставит сборщик мусора отказаться от идеи удалить объект instanceLink из памяти, если других ссылок на него более не существует.</p>
<h2>3. Итог</h2>
<p>После использования объектов, для того чтобы они были удалены из памяти необходимо: </p>
<ol>
<li>Удалить всех слушателей объекта</li>
<li>В случае если это экранный объект, удалить его из списка отображения</li>
<li>Уничтожить все ссылки на него</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/flash/udalenie-obektov-utechki-pamyati-vo-flash/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Из ответов free-lance.ru</title>
		<link>http://pastila.org/humour/from-free-lance/</link>
		<comments>http://pastila.org/humour/from-free-lance/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 20:20:55 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Юмор]]></category>
		<category><![CDATA[free-lance.ru]]></category>
		<category><![CDATA[юмор]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=191</guid>
		<description><![CDATA[&#171;Работа с аpi VK около 2 лет.&#187;]]></description>
			<content:encoded><![CDATA[<p>&#171;Работа с аpi VK около 2 лет.&#187;</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/humour/from-free-lance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ВКонтакте и бонусы за приглашенных друзей</title>
		<link>http://pastila.org/asocial/vk-friends-bonuse/</link>
		<comments>http://pastila.org/asocial/vk-friends-bonuse/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 20:11:19 +0000</pubDate>
		<dc:creator>Илья Маланьин</dc:creator>
				<category><![CDATA[Социальное]]></category>
		<category><![CDATA[бонусы]]></category>
		<category><![CDATA[вконтакте]]></category>
		<category><![CDATA[поощрения]]></category>

		<guid isPermaLink="false">http://pastila.org/?p=187</guid>
		<description><![CDATA[Достаточно часто вижу жалобы разработчиков, на тему запрета от ВКонтакте поощрений за приглашения друзей, и поэтому решил написать эту заметку. Бонусы за друзей все так же можно начислять, достаточно посмотреть на этот вопрос с другой стороны. Многие приложения, будь то фейсбук или вк, используют следующие механики поощрения за приглашения друзей: определенные игровые итемы можно получить [...]]]></description>
			<content:encoded><![CDATA[<p>Достаточно часто вижу жалобы разработчиков, на тему запрета от ВКонтакте поощрений за приглашения друзей, и поэтому решил написать эту заметку.</p>
<p>Бонусы за друзей все так же можно начислять, достаточно посмотреть на этот вопрос с другой стороны.<br />
Многие приложения, будь то фейсбук или вк, используют следующие механики поощрения за приглашения друзей:</p>
<ol>
<li>определенные игровые итемы можно получить только от друзей</li>
<li>друзья раз в сутки могут присылать итемы которые дают энергию (или её аналог)</li>
<li>друзей можно нанимать в качестве помощников, что будет приносить бонусы</li>
</ol>
<p>и т.д.</p>
<p>Все эти способы не противоречат правилам.</p>
]]></content:encoded>
			<wfw:commentRss>http://pastila.org/asocial/vk-friends-bonuse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

