<?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>Записки о Flash &#187; AS3</title>
	<atom:link href="http://etcs.ru/blog/category/as3/feed/" rel="self" type="application/rss+xml" />
	<link>http://etcs.ru</link>
	<description></description>
	<lastBuildDate>Fri, 16 Dec 2011 12:34:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Vector.&lt;B/* extends/implements A*/&gt; в Vector.&lt;A&gt;</title>
		<link>http://etcs.ru/blog/as3/vector-b-into-vector-a/</link>
		<comments>http://etcs.ru/blog/as3/vector-b-into-vector-a/#comments</comments>
		<pubDate>Tue, 10 May 2011 10:50:28 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=270</guid>
		<description><![CDATA[Просто FYI: var a:Vector.&#60;Sprite&#62; = new Vector.&#60;Sprite&#62;(); var b:Vector.&#60;MovieClip&#62; = new Vector.&#60;MovieClip&#62;(); b.push(new MovieClip()); var c:Vector.&#60;Sprite&#62; = a.concat(b); trace(c, c.length); // [object MovieClip] 1 UPD: Блуд крутой: var b:Vector.&#60;MovieClip&#62; = new Vector.&#60;MovieClip&#62;(); b.push(new MovieClip()); var c:Vector.&#60;Sprite&#62; = Vector.&#60;Sprite&#62;(b); trace(c, c.length); &#8230; <a href="http://etcs.ru/blog/as3/vector-b-into-vector-a/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Просто FYI:<br />
<div><pre>	var a:Vector.&lt;Sprite&gt; = new Vector.&lt;Sprite&gt;();
	var b:Vector.&lt;MovieClip&gt; = new Vector.&lt;MovieClip&gt;();
	b.push(new MovieClip());
	var c:Vector.&lt;Sprite&gt; = a.concat(b);
	trace(c, c.length); // [object MovieClip] 1
</pre></div></p>
<p>UPD: <a href="http://www.blooddy.by/" target="_blank">Блуд</a> крутой:</p>
<p><div><pre>	var b:Vector.&lt;MovieClip&gt; = new Vector.&lt;MovieClip&gt;();
	b.push(new MovieClip());
	var c:Vector.&lt;Sprite&gt; = Vector.&lt;Sprite&gt;(b);
	trace(c, c.length); // [object MovieClip] 1
</pre></div></p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/vector-b-into-vector-a/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FontLoader 2.3</title>
		<link>http://etcs.ru/blog/as3/fontloader_2_3/</link>
		<comments>http://etcs.ru/blog/as3/fontloader_2_3/#comments</comments>
		<pubDate>Thu, 20 Jan 2011 16:30:26 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[CS3]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[Мысли вслух]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=262</guid>
		<description><![CDATA[Вышла новая версия FontLoader — 2.3! Наконец-то внедрена поддержка CFF-шрифтов (в теге DefineFont4) для работы FlashTextEngine. Эту поддержку можно было добавить единственной строчкой с ID тега DefineFont4 (91), но мне этого показалось слишком мало, чтобы поднимать версию FontLoader-а. В ходе &#8230; <a href="http://etcs.ru/blog/as3/fontloader_2_3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Вышла новая версия <a href="http://etcs.ru/blog/as3/fontloader_2/">FontLoader</a> — 2.3!<br />
Наконец-то внедрена поддержка CFF-шрифтов (в теге DefineFont4) для работы FlashTextEngine. Эту поддержку можно было добавить единственной строчкой с ID тега DefineFont4 (91), но мне этого показалось слишком мало, чтобы поднимать версию FontLoader-а.</p>
<p>В ходе сборки библиотек с CFF-шрифтами в Flash CS5 неожиданно выяснилось (по правде сказать, я так и не пощупал FTE до сих пор), что для внедрения требуется библиотека textLayout.swc, которая может быть внедрена непосредственно в swf, либо может загружаться как RSL.</p>
<p>В первом случае кроме излишнего веса конечного swf, проблемы не было — тег DefineFont4 объявлен, шрифт есть, FontLoader пашет как автомат Калашникова. Во втором же случае Flash CS5 создает оболочку-прелоадер и в него внедряет наш swf, используя Embed (он же DefineBinaryData), т. е. в бинарном виде. Прелоадер загружает самого себя, загружает необходимые RSL и выполняет loadBytes внедренного swf. При подобной схеме FontLoader не находит в таком прелоадере шрифтов. В связи с этим, был добавлен рекурсивный анализ тегов DefineBinaryData на предмет наличия там валидного SWF. Проще говоря, теперь FontLoader умеет выдергивать шрифты из embedded-swf вне зависимости от вложенности.</p>
<p>Для подготовки библиотек со шрифтами можно использовать любой инструмент — Flash IDE от пятой версии до последней или  Flash/Flex Builder (метатег [Embed]), либо Flex SDK.</p>
<p><a href="http://etcs.ru/pre/FontLoaderDemo/" target="_blank">Посмотреть демо и скачать примеры с исходниками класса</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/fontloader_2_3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>getDefinitionNames v. 2.1</title>
		<link>http://etcs.ru/blog/as3/getdefinitionnames_v21/</link>
		<comments>http://etcs.ru/blog/as3/getdefinitionnames_v21/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 19:08:25 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=233</guid>
		<description><![CDATA[Очередной обновление getDefinitionNames (скачать исходники сразу) до версии 2.1. Появилась совместимость с Flash 10, изменен режим «только классы» на действительно только классы (без интерфейсов), а также в расширенном режиме находятся ещё и Vector. Большое спасибо Даниелю за доскональное выяснение причин, &#8230; <a href="http://etcs.ru/blog/as3/getdefinitionnames_v21/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Очередной обновление <a href="http://etcs.ru/blog/as3/getdefinitionnames/">getDefinitionNames</a> (<a href="http://etcs.ru/pre/getDefinitionNamesSource/DefinitionListDemo.zip">скачать исходники сразу</a>) до версии <span style="color: #F00;"><strong>2.1</strong></span>. Появилась совместимость с Flash 10, изменен режим «только классы» на действительно только классы (без интерфейсов), а также в расширенном режиме находятся ещё и Vector.</p>
<p>Большое спасибо <a href="http://badnoob.com/" target="_blank">Даниелю</a> за доскональное выяснение причин, по которым getDefinitionNames не работал с swf, скомпилированном с использованием Vector — оказалось, Adobe «забыла» задокументировать новый тип multiname для Vector.</p>
<p>Ожидается обновление ClassExplorer с теми же правками (поддержка Vector, но не уверен, что они будут перечислены в результирующем XML, т. к. на текущий момент generic-и в ABC реализованы кривовато), а также внесение в FontLoader поддержки тега DefineFont4 для совместимости с FTE. Следите за новостями!</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/getdefinitionnames_v21/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>getDefinitionNames v. 2.0</title>
		<link>http://etcs.ru/blog/as3/getdefinitionnames_v2/</link>
		<comments>http://etcs.ru/blog/as3/getdefinitionnames_v2/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 15:41:44 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=211</guid>
		<description><![CDATA[Сегодня день обновлений В очередной раз обновился getDefinitionNames. На этот раз сразу до версии 2.0. Что нового, вы можете узнать по ссылке.]]></description>
			<content:encoded><![CDATA[<p>Сегодня день обновлений <img src='http://etcs.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
В очередной раз обновился <a href="http://etcs.ru/blog/as3/getdefinitionnames/">getDefinitionNames</a>. На этот раз сразу до версии 2.0.</p>
<p>Что нового, вы можете узнать <a href="http://etcs.ru/blog/as3/getdefinitionnames/">по ссылке</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/getdefinitionnames_v2/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Обновление getDefinitionNames</title>
		<link>http://etcs.ru/blog/as3/getdefinitionnames_11_update/</link>
		<comments>http://etcs.ru/blog/as3/getdefinitionnames_11_update/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 08:05:26 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=200</guid>
		<description><![CDATA[16.09.09 Обновился getDefinitionNames до версии 1.1.1. Обновления 1.1.1: Повторно исправлена ошибка первой версии Спасибо за внимательность Christophe Herreman! Обновления 1.1: Исправлена ошибка, в результате которой второй и последующие кадры swf, содержащие код, не распознавались В качестве аргумента в функцию можно &#8230; <a href="http://etcs.ru/blog/as3/getdefinitionnames_11_update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span class="color: #f00;">16.09.09</span> Обновился <a href="http://etcs.ru/blog/as3/getdefinitionnames/">getDefinitionNames</a> до версии 1.1.1.</p>
<p>Обновления 1.1.1:</p>
<li>Повторно исправлена ошибка первой версии <img src='http://etcs.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Спасибо за внимательность <a href="http://www.herrodius.com/">Christophe Herreman</a>!</li>
<p>Обновления 1.1:</p>
<li>Исправлена ошибка, в результате которой второй и последующие кадры swf, содержащие код, не распознавались</li>
<li>В качестве аргумента в функцию можно передавать как LoaderInfo (как было в предыдущей версии), так и ByteArray, содержащий корректный swf</li>
<p>И да, всех с Днём Программиста!</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/getdefinitionnames_11_update/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FontLoader v. 2.2</title>
		<link>http://etcs.ru/blog/as3/fontloader_2_2/</link>
		<comments>http://etcs.ru/blog/as3/fontloader_2_2/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 13:24:53 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=190</guid>
		<description><![CDATA[Очередная новая версия FontLoader. Добавилось событие IOErrorEvent.VERIFY_ERROR, которое посылается в случае, если загруженный файл имеет неверный формат (например, вместо swf загружен html).]]></description>
			<content:encoded><![CDATA[<p>Очередная новая версия <a href="http://etcs.ru/blog/as3/fontloader_2/">FontLoader</a>. Добавилось событие IOErrorEvent.VERIFY_ERROR, которое посылается в случае, если загруженный файл имеет неверный формат (например, вместо swf загружен html).</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/fontloader_2_2/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>FontLoader v. 2.1</title>
		<link>http://etcs.ru/blog/as3/fontloader_2_1/</link>
		<comments>http://etcs.ru/blog/as3/fontloader_2_1/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 17:39:50 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=183</guid>
		<description><![CDATA[FontLoader обновился до версии 2.1. По просьбам зарубежных товарищей, FontLoader теперь работает в среде AIR, а также добавился новый метод loadBytes, аналогичный одноименному методу класса Loader.]]></description>
			<content:encoded><![CDATA[<p><a href="http://etcs.ru/blog/as3/fontloader_2/">FontLoader</a> обновился до версии 2.1. По просьбам зарубежных товарищей, FontLoader теперь работает в среде AIR, а также добавился новый метод loadBytes, аналогичный одноименному методу класса Loader.</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/fontloader_2_1/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Ссылка на инициализатор метода</title>
		<link>http://etcs.ru/blog/as3/link_to_method_initializer/</link>
		<comments>http://etcs.ru/blog/as3/link_to_method_initializer/#comments</comments>
		<pubDate>Wed, 27 May 2009 17:04:15 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=168</guid>
		<description><![CDATA[Задача: получить внутри метода ссылку на класс, описывающий данный метод. В порыве бреда: var valueOf:Object = arguments.callee.valueOf; var value:* = valueOf(); var constant:XML = describeType(value).constant[0]; var selfClass:Class = value[new QName(constant.@uri, constant.@name)] as Class; trace(selfClass); Код размещается внутри вызываемого метода (static, &#8230; <a href="http://etcs.ru/blog/as3/link_to_method_initializer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Задача: получить внутри метода ссылку на класс, описывающий данный метод.</em></p>
<p>В порыве бреда:<br />
<div><pre>		var valueOf:Object = arguments.callee.valueOf;
		var value:* = valueOf();
		var constant:XML = describeType(value).constant[0];
		var selfClass:Class = value[new QName(constant.@uri, constant.@name)] as Class;
		trace(selfClass);</pre></div><br />
Код размещается внутри вызываемого метода (static, private, public, internal — неважно).<br />
Не спрашивайте меня, зачем эта задача и для чего её решать, я не знаю. <img src='http://etcs.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/link_to_method_initializer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Обновление MouseWheel</title>
		<link>http://etcs.ru/blog/as3/mousewheel_v11_update/</link>
		<comments>http://etcs.ru/blog/as3/mousewheel_v11_update/#comments</comments>
		<pubDate>Fri, 08 May 2009 04:24:10 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=163</guid>
		<description><![CDATA[Давненько ничего не писал Обновился MouseWheel, теперь захват мыши работает сразу и без вопросов. Протестировано на Firefox, IE7, Opera под Windows. //TODO: Надо бы поплотнее заняться блогом.]]></description>
			<content:encoded><![CDATA[<p>Давненько ничего не писал <img src='http://etcs.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Обновился <a href="http://etcs.ru/blog/as3/mousewheel/">MouseWheel</a>, теперь захват мыши работает сразу и без вопросов. Протестировано на Firefox, IE7, Opera под Windows.</p>
<p>//TODO: Надо бы поплотнее заняться блогом.</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/mousewheel_v11_update/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Захват колеса мыши</title>
		<link>http://etcs.ru/blog/as3/mousewheel/</link>
		<comments>http://etcs.ru/blog/as3/mousewheel/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 20:37:49 +0000</pubDate>
		<dc:creator>etc</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://etcs.ru/?p=157</guid>
		<description><![CDATA[После перехода на ActionScript 3 и Flash Player 9 вы наверняка сталкивались с тем, что размещенный на странице ролик не захватывает скролл мыши (как это было в ActionScript 1/2), позволяя пользователю прокручивать содержимое страницы независимо от того, находится ли ролик &#8230; <a href="http://etcs.ru/blog/as3/mousewheel/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>После перехода на ActionScript 3 и Flash Player 9 вы наверняка сталкивались с тем, что размещенный на странице ролик не захватывает скролл мыши (как это было в ActionScript 1/2), позволяя пользователю прокручивать содержимое страницы независимо от того, находится ли ролик в фокусе или нет. Достаточно давно я опубликовал класс <a href="http://etcs.ru/blog/as3/globalmouse/">GlobalMouse</a>, он решал данную проблему, но в целом был неудобен именно для решения подобной проблемы. В связи с этим, я написал класс MouseWheel, позволяющий захватывать и отпускать скролл мыши в любой момент времени при необходимости. К сожалению, браузер Safari, а также Mac OS-версии популярных браузеров (Opera/Firefox) не позволяют захватывать скролл мыши, поэтому данный класс в них работать не будет.</p>
<p>Посмотреть демо вы можете <a href="http://etcs.ru/pre/MouseWheelCatcher/" target="_blank">здесь</a>. Исходный код примера и сам класс найдете на той же странице.</p>
]]></content:encoded>
			<wfw:commentRss>http://etcs.ru/blog/as3/mousewheel/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
		</item>
	</channel>
</rss>

