<?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>Flastar &#187; AS3</title>
	<atom:link href="http://flastar.ru/blog/flastarposts/category/as3/feed" rel="self" type="application/rss+xml" />
	<link>http://flastar.ru/blog</link>
	<description>Блог белорусского флеш-разработчика</description>
	<lastBuildDate>Sun, 25 Jul 2010 14:40:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Знакомство с EvoTinyEngine</title>
		<link>http://flastar.ru/blog/flastarposts/194</link>
		<comments>http://flastar.ru/blog/flastarposts/194#comments</comments>
		<pubDate>Mon, 17 Aug 2009 17:48:48 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[EFMK(Each Flasher Must Know)]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=194</guid>
		<description><![CDATA[Симппа придумал и реализовал библиотеку, которая предназначена для работы с эффектами. Чтобы понять суть её предназначения рассмотрим пример) Допустим, мне нужно запустить 53 эффекта подряд, сразу бросается в глаза многочисленные таймеры, т.к. время проигрывания каждого эффекта совсем разное + между эффектами может быть задержка + эффекты должны реагировать на высокий бит звука. Вот как раз [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.simppa.fi/blog/?p=411">Симппа придумал и реализовал библиотеку</a>, которая предназначена для работы с эффектами. <span id="more-194"></span> Чтобы понять суть её предназначения рассмотрим пример) Допустим, мне нужно запустить 53 эффекта подряд, сразу бросается в глаза многочисленные таймеры, т.к. время проигрывания каждого эффекта совсем разное + между эффектами может быть задержка + эффекты должны реагировать на высокий бит звука. Вот как раз эту проблему на 5+ решает данная библиотека. </p>
<p>Тут играет роль три основных класса, первых два мы будем писать сами: <code>Modifier</code>, <code>Assets</code>, <code>TinyEngine</code>.</p>
<p><code>Modificator </code>- класс, наследующийся от <code>AbstractModifier</code>, который предназначен для реализации эффекта.</p>
<p><code>Assets</code>- класс, наследующийся от <code>AbstractAssets</code>, реализующий Канвас, главную битмапу, в которую всё и рисуется, Так как модификатор имеет свободный доступ к этому классу, тут обычно держат все текстуры, 3д-движки и т.д.</p>
<p><code>TinyEngine </code>- класс, содержащий звук, массив модификаторов, начала и конца их воспроизведения в секундах, другими словами, мы можем указать время жизни данного эффекта.<br />
Каждый модификатор должен переопределять три метода:<br />
- initializeModifier(data:RenderData) вызывается в начале воспроизведения данного модификатора, подготавливаем все необходимые объекты для реализации эффекта.<br />
- disposeModifier()  вызывается в конце воспроизведения данного модификатора, тут мы чистим все объекты, которые создали.<br />
- render(data:RenderData) во время воспроизведения модификатора, мы манипулируем всеми необходимыми объектами(добавляем фильтры, изменяем цвет и т.д. и т.п.), и рисуем результат в Канвас.</p>
<p>Пример:<br />
Создадим свой ассет класс, и нарисуем в Канвас черный квадрат.<br />
<img src="http://flastar.ru/blog/wp-content/uploads/2009/08/assets.png" class="aligncenter size-full wp-image-199" /></p>
<p>Далее создадим модификатор, который скролит канвас.<br />
<img src="http://flastar.ru/blog/wp-content/uploads/2009/08/memodifier.png" class="aligncenter size-full wp-image-199" /></p>
<p>И в классе Main всё оформляем)<br />
<img src="http://flastar.ru/blog/wp-content/uploads/2009/08/main.png" class="aligncenter size-full wp-image-199" /></p>
<p><a href="http://www.simppa.fi/source/evo_sog_src.zip">Более красивый и сложным пример. Исходник демки.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/194/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Вся правда про твины</title>
		<link>http://flastar.ru/blog/flastarposts/180</link>
		<comments>http://flastar.ru/blog/flastarposts/180#comments</comments>
		<pubDate>Thu, 30 Jul 2009 13:12:32 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Мысли]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=180</guid>
		<description><![CDATA[Давно мечтали сравнить производительность твинов? Китайцы из BeInteractive! сделали супер тест твинов. Новая звезда твинов зажглась!))) Встречайте, BetweenAS3! Самый крутой! + 7 демок + сайт авторов]]></description>
			<content:encoded><![CDATA[<p>Давно мечтали сравнить производительность твинов? Китайцы из BeInteractive! сделали <a href="http://www.be-interactive.org/works/20090428/Particle/index.html">супер тест твинов.</a><br />
Новая звезда твинов зажглась!)))<br />
Встречайте, <a href="http://www.libspark.org/browser/as3/BetweenAS3/">BetweenAS3</a>! Самый крутой!<br />
<a href="http://www.be-interactive.org/en.php?itemid=473">+ 7 демок</a><br />
<a href="http://www.be-interactive.org">+ сайт авторов</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/180/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>IDE для разработки as3 онлайн</title>
		<link>http://flastar.ru/blog/flastarposts/172</link>
		<comments>http://flastar.ru/blog/flastarposts/172#comments</comments>
		<pubDate>Tue, 07 Jul 2009 18:03:30 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=172</guid>
		<description><![CDATA[Flash MiniBuilder: онлайн AS3 IDE. С подсветкой синтаксиса и компила кода в онлайн режиме. На самом деле такая не плохая вещь получилась у разработчиков. Довольно прикольно. Если эту идею продвинуть в правильном направлении, то получится нечто крутое. Minibuilder]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.victordramba.com/?p=31">Flash MiniBuilder</a>: онлайн AS3 IDE. С подсветкой синтаксиса и компила кода в онлайн режиме. На самом деле такая не плохая вещь получилась у разработчиков. Довольно прикольно. Если эту идею продвинуть в правильном направлении, то получится нечто крутое.<br />
<a href='http://www.victordramba.com/minibuilder/CodeAssist.swf' >Minibuilder</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/172/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Первый выпуск видео-журнала FSTE</title>
		<link>http://flastar.ru/blog/flastarposts/155</link>
		<comments>http://flastar.ru/blog/flastarposts/155#comments</comments>
		<pubDate>Sun, 07 Jun 2009 18:52:54 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=155</guid>
		<description><![CDATA[Первый выпуск моего видео-журнала Flash Skill Tokita Edition. Первый выпуск моего видео-журнала Flash Skill Tokita Edition. Мой видео-журнал не учит, он просто показывает, как делаются всякие интересные штуковины на Flash/Flex/AIR. Конечно, оформление видео-журнала очень страдает, а это я объясню нехваткой времени, т.к. текущий месяц у меня очень наряжен в плане учебы (экзамены, ЦТ), но очень [...]]]></description>
			<content:encoded><![CDATA[<p>Первый выпуск моего видео-журнала Flash Skill Tokita Edition.<br />
<span id="more-155"></span></p>
<p align="center"><img src="http://flastar.ru/flashskill/fste.png" width="320" height="240" alt="" /></p>
<p>Первый выпуск моего видео-журнала Flash Skill Tokita Edition. Мой видео-журнал не учит, он просто показывает, как делаются всякие интересные штуковины на Flash/Flex/AIR. Конечно, оформление видео-журнала очень страдает, а это я объясню нехваткой времени, т.к. текущий месяц у меня очень наряжен в плане учебы (экзамены, ЦТ), но очень хотелось сделать первый выпуск) Следующие выпуски будут более интересные и лучше оформлены, т.к. рассказать есть еще много чего.<br />
Содержание FSTE №1:<br />
1) Приём Firk Animtation(анимация)<br />
2) Анимация Флага (анимация)<br />
3) Интересные фильтры (анимация)<br />
4) Определение области лица на видео (AS3)<br />
 Первый выпуск моего видео-журнала, так сказать тестовый, хочу посмотреть на реакцию людей, получить достойную критику, дабы улучшить его в будущем. Хочется, чтобы он был интересен не только кодерам, но и аниматорам. Честно, я старался)))</p>
<p><a href="http://flastar.ru/flashskill/issue1.flv">Скачать</a><br />
Если не хотите скачивать, открывайте <a href="http://www.adobe.com/products/mediaplayer/">Adobe Media Player</a> и дайте ему верхнюю ссылочку.<br />
P.S. Следующие выпуски будут уже с поясняющим текстом, интервью с интересными людьми, обзорами новых технологий.</p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/155/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CASA для быстрого кодинга</title>
		<link>http://flastar.ru/blog/flastarposts/102</link>
		<comments>http://flastar.ru/blog/flastarposts/102#comments</comments>
		<pubDate>Thu, 09 Apr 2009 22:36:27 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=102</guid>
		<description><![CDATA[На мой взгляд самая необходимое оружие любого разработчика. Сохраняет время. Достойный классы. CASA Library Хорошо оформленная документация заставляет кричать от радости. Меня лично очень порадовал пакет org.casa.display, там находятся дети классов Sprite, MovieClip, Bitmap, TextField, весь понт в том, что эти дети помогают чистить память(звучит то как! Дети чистят память) Конструкторы не поменялись, но добавились [...]]]></description>
			<content:encoded><![CDATA[<p>На мой взгляд самая необходимое оружие любого разработчика. Сохраняет время. Достойный классы. <a href="http://casalib.org/">CASA Library</a> Хорошо оформленная документация заставляет кричать от радости. Меня лично очень порадовал пакет <code>org.casa.display</code>, там находятся дети классов <code>Sprite, MovieClip, Bitmap, TextField</code>, весь понт в том, что эти дети помогают чистить память(звучит то как! Дети чистят память) Конструкторы не поменялись, но добавились новые методы и свойства. Например метод <code>destroy</code>, удаляет все повешеные  листенеры, останавливает внутренние процессы, тем самым помогая GC чистить память, так же можно одним методом убить все листенеры, или только листенеры одного типа. Cтоит отметить пакет <code>org.casalib.ui</code>, в котором есть класс <code>Key</code>, помогающий отлавливать нажатые сочетания клавиш, например Ctrl+G+T+S+F+H+J ))) Плюшек много)</p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/102/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Стэки</title>
		<link>http://flastar.ru/blog/flastarposts/95</link>
		<comments>http://flastar.ru/blog/flastarposts/95#comments</comments>
		<pubDate>Sat, 21 Mar 2009 20:54:46 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=95</guid>
		<description><![CDATA[Под стэком я подразумеваю некий контейнер, в который могут добавляться объекты, но удалятся могут только в обратном порядке. Пример: мы добавляем в стэк три объекта(A,B,C), если нам нужно будет удалить объект B, то сначала мы удаляем объект C, а потом уже объект B. Я написал класс, стэк. Теперь, посмотрим, какие задачи можно решить с помощью [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Под стэком я подразумеваю некий контейнер, в который могут добавляться объекты, но удалятся могут только в обратном порядке.<br />
<img class="size-full wp-image-96 aligncenter" title="Img Stack" src="http://flastar.ru/blog/wp-content/uploads/2009/03/stack.jpg" alt="Img Stack" width="91" height="181" /><br />
Пример: мы добавляем в стэк три объекта(A,B,C), если нам нужно будет удалить объект B, то сначала мы удаляем объект C, а потом уже объект B.<br />
<a href="http://work.flastar.ru/package/by/flastar/utils/Stack.as">Я написал класс, стэк.</a> Теперь, посмотрим, какие задачи можно решить с помощью стека.<br />
Допустим, что в математическом выражении встречаются скобки трех типов: круглые &laquo;()&raquo;, квадратные &laquo;[]&raquo; и фигурные &laquo;{}&raquo;. Необходимо проверить, выполняется ли баланс скобок, учитывая, что закрывающая скобка должна быть того же типа, что и предшествующая открывающая.<br />
Вот наше выражение {x+(y-[a+b])*c-[(d+e)]}/(h-(j-(k-[1-n])))<br />
Мы проходим строку, если видим открывающую скобку любого типа(угловую, квадратную, круглую), то заносим её в стэк. Как только мы видим закрывающую скобку любого типа, то смотрим, если в стеке последний элемент другого типа, то в выражении скобки расставлены неправильно, а если того же типа, то продолжаем исследовать строку. Надеюсь ясно) <a href="http://work.flastar.ru/package/StackExample.as">Вот реализованный примерчиг.</a></p>
<p>P.S. Это такое маленькое введение) В следующих частях поговорим про списки(однонаправленные, двунаправленные), графы(Алгоритм Дейкстры, поиск в ширину, поиск в глубину)</p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/95/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Binding на AS3</title>
		<link>http://flastar.ru/blog/flastarposts/87</link>
		<comments>http://flastar.ru/blog/flastarposts/87#comments</comments>
		<pubDate>Fri, 20 Mar 2009 16:07:44 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[EFMK(Each Flasher Must Know)]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=87</guid>
		<description><![CDATA[Впервые придумано и реализовано в среде разработки VisualWork для языка SmallTalk разработчиками оной среды. Вчера, Жлоба Юрий опубликовал статейку о том как реализовать Data Binding(Flex фишка) на чистом AS3. Нам понадобиться написать три класса: ValueHolder - образно, наша переменная, которая при изменении диспатчит в себя события. Binder - этот класс &#171;биндует&#187;, т.е. связывает наши данные. [...]]]></description>
			<content:encoded><![CDATA[<p>Впервые придумано и реализовано в среде разработки VisualWork для языка SmallTalk разработчиками оной среды.<br />
Вчера, <a href="http://yzh44yzh.ru">Жлоба Юрий</a> <a href="http://www.yzh44yzh.com/blog/data_binding_without_flex">опубликовал</a> статейку о том как реализовать Data Binding(Flex фишка) на чистом AS3.<br />
Нам понадобиться написать три класса:</p>
<ul>
<li><a href="http://work.flastar.ru/binder/ValueHolder.as">ValueHolder</a><br />
- образно, наша переменная, которая при изменении диспатчит в себя события.</p>
<li><a href="http://work.flastar.ru/binder/Binder.as">Binder</a><br />
- этот класс &laquo;биндует&raquo;, т.е. связывает наши данные. При обновлении ValueHolder меняет свойство заданного объекта.</p>
<li><a href="http://work.flastar.ru/binder/ChangeEvent.as">ChangeEvent</a><br />
- событие-класс)) он несет в себе две публичные переменные, newValue и oldValue.</li>
</ul>
<p>Пример:<br />
<code>var vh:ValueHolder = new ValueHolder(10, int);//создаем экземпляр так<br />
vh.Value = 20;//изменяем так</code><br />
Теперь предположим, что у нас есть объект killBill, со свойством kolTikVglaz.<br />
связываем так:<br />
<code>var binder:Binder = new Binder(vh, killBill, 'kolTikVglaz');</code><br />
Теперь, когда обновится переменная vh, обновится свойство kolTikVglaz, объекта killBill, АВТОМАТИЧЕСКИ.<br />
Так просто, и так чотко!</p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/87/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ворк виз динамик саунд!</title>
		<link>http://flastar.ru/blog/flastarposts/46</link>
		<comments>http://flastar.ru/blog/flastarposts/46#comments</comments>
		<pubDate>Wed, 11 Feb 2009 18:42:04 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=46</guid>
		<description><![CDATA[Хватит в блоге ерундой заниматься) Пора что-нить по-взрослому написать) Не секрет, что после того как мы экземпляру класса Sound скажем play();, то он начнет отправляет событие sampleData, запрашивая новые аудиоданные, и это происходит только в том случае если он пустой. Пожалуй, тут лучше всего начать с примера. Допустим нам очень захотелось послушать синусойду. А для [...]]]></description>
			<content:encoded><![CDATA[<p>Хватит в блоге ерундой заниматься) Пора что-нить по-взрослому написать)</p>
<p>Не секрет, что после того как мы экземпляру класса <code>Sound</code> скажем <code>play();</code>, то он начнет отправляет событие sampleData, запрашивая новые аудиоданные, и это происходит только в том случае если он пустой.<br />
Пожалуй, тут лучше всего начать с примера. Допустим нам очень захотелось послушать синусойду. А для этого нам достаточно пустого экземпляра класса <code>Sound</code>, одного слушателя события, одной функции.<br />
<span style="font-family: 'Courier New'; color: black; font-size: small;"><span style="color: #008000;">//создаем экземпляр</span><br />
<span style="color: #0000ff;">var</span> generSnd:Sound = <span style="color: #0000ff;">new</span> Sound();<br />
<span style="color: #008000;">//вешаем событие</span><br />
generSnd.addEventListener(SampleDataEvent.SAMPLE_DATA, sinusGenerator);<br />
<span style="color: #008000;">//начинаем рассылать событие SAMPLE_DATA</span><br />
generSnd.play();<br />
<span style="color: #008000;">//в этой функции мы создаем БайтМассв в который записываем нашу синусойду</span><br />
<span style="color: #0000ff;">function</span> sinusGenerator(<span style="color: #0000ff;">event</span>:SampleDataEvent):<span style="color: #0000ff;">void</span><br />
{<br />
  <span style="color: #0000ff;">for</span> (<span style="color: #0000ff;">var</span> i:<span style="color: #0000ff;">int</span> = 0; i &lt; 8192; i++)<br />
  {<br />
    <span style="color: #0000ff;">var</span> n:Number = Math.sin((i + <span style="color: #0000ff;">event</span>.position) / Math.PI / 4);<br />
    <span style="color: #0000ff;">event</span>.data.writeFloat(n);<br />
    <span style="color: #0000ff;">event</span>.data.writeFloat(n);<br />
  }<br />
}</span></p>
<p>Тут всё легко и просто.<br />
Теперь придумаем задачку посложнее. Допустим, нам требуется ускорить воспроизведение загруженного звука. Чуточку подумаем логически, как реализовать ускорение воспроизведения звука? Ну конечно, вы правильно подумали, смещением <code>ByteArray</code>!<br />
<span style="font-family: 'Courier New'; color: black; "><span style="color: #008000;">//создаем пустой экземпляр саунда</span><br />
<span style="color: #0000ff;">var</span> mySound:Sound = <span style="color: #0000ff;">new</span> Sound();<br />
<span style="color: #008000;">//загружаем наш звук, для ускорения воспроизведения</span><br />
<span style="color: #0000ff;">var</span> sourceSnd:Sound = <span style="color: #0000ff;">new</span> Sound();<br />
<span style="color: #0000ff;">var</span> urlReq:URLRequest = <span style="color: #0000ff;">new</span> URLRequest(<span style="color: #a31515;">&laquo;test.mp3&#8243;</span>);<br />
sourceSnd.load(urlReq);<br />
sourceSnd.addEventListener(Event.COMPLETE, loaded);<br />
<span style="color: #0000ff;">function</span> loaded(<span style="color: #0000ff;">event</span>:Event):<span style="color: #0000ff;">void</span><br />
{<br />
  <span style="color: #008000;">//после того как мы загрузили нашу мп3-шку</span><br />
  <span style="color: #008000;">//мы вешаем событие на пустой саунд</span><br />
  mySound.addEventListener(SampleDataEvent.SAMPLE_DATA, processSound);<br />
  mySound.play();<br />
}<br />
<span style="color: #0000ff;">function</span> processSound(<span style="color: #0000ff;">event</span>:SampleDataEvent):<span style="color: #0000ff;">void</span><br />
{<br />
  <span style="color: #008000;">//создаем пустой ByteArray</span><br />
  <span style="color: #0000ff;">var</span> bytes:ByteArray = <span style="color: #0000ff;">new</span> ByteArray();<br />
  <span style="color: #008000;">//заполняем его</span><br />
  sourceSnd.extract(bytes, 8192);<br />
  <span style="color: #008000;">//изменяем наш ByteArray и воспроизводим</span><br />
  <span style="color: #0000ff;">event</span>.data.writeBytes(upOctave(bytes));<br />
}<br />
<span style="color: #0000ff;">function</span> upOctave(bytes:ByteArray):ByteArray<br />
{<br />
  <span style="color: #008000;">//ByteArray</span><br />
  <span style="color: #0000ff;">var</span> returnBytes:ByteArray = <span style="color: #0000ff;">new</span> ByteArray();<br />
  <span style="color: #008000;">//начальная позиция 0</span><br />
  bytes.position = 0;<br />
  <span style="color: #008000;">//пока мы можем писать байты</span><br />
  <span style="color: #0000ff;">while</span>(bytes.bytesAvailable &gt; 0)<br />
  {<br />
    <span style="color: #008000;">//мы их пишем</span><br />
    returnBytes.writeFloat(bytes.readFloat());<br />
    returnBytes.writeFloat(bytes.readFloat());<br />
    <span style="color: #008000;">//и если байты до сих пор доступны, для того чтобы не сместить за пределы массива</span><br />
    <span style="color: #0000ff;">if</span> (bytes.bytesAvailable &gt; 0)<br />
    {<br />
      <span style="color: #008000;">//мы их и смещаем</span><br />
      bytes.position += 8;<br />
    }<br />
  }<br />
  <span style="color: #0000ff;">return</span> returnBytes;<br />
}</span></p>
<p>Вот как-то примерно так.)</p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/46/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Компиляция as3 класса онлайн!</title>
		<link>http://flastar.ru/blog/flastarposts/36</link>
		<comments>http://flastar.ru/blog/flastarposts/36#comments</comments>
		<pubDate>Thu, 05 Feb 2009 11:25:32 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[EFMK(Each Flasher Must Know)]]></category>
		<category><![CDATA[Веб фишки]]></category>
		<category><![CDATA[Полезное]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=36</guid>
		<description><![CDATA[Японский проект называется WonderFL Действительно нормально компилирует код, и сохраняет его на сервере. То что сделал там я)]]></description>
			<content:encoded><![CDATA[<p>Японский проект называется <a href="http://wonderfl.kayac.com/">WonderFL</a><br />
Действительно нормально компилирует код, и сохраняет его на сервере.<br />
<a href="http://wonderfl.kayac.com/code/0495236980f6a0bdf95588ca47b8dc2f7c78e7e9">То что сделал там я)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/36/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Про конструкторы</title>
		<link>http://flastar.ru/blog/flastarposts/15</link>
		<comments>http://flastar.ru/blog/flastarposts/15#comments</comments>
		<pubDate>Wed, 21 Jan 2009 16:49:35 +0000</pubDate>
		<dc:creator>Flastar</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Стиль]]></category>

		<guid isPermaLink="false">http://flastar.ru/blog/?p=15</guid>
		<description><![CDATA[Начнем с примера: package {     public class AllMightyClass     {         public var _value0:String;         public var _value1:Array;         public var _value2:int;         public var _value3:Object;                  public function AllMightyClass(params:Object)         {             _value0 = params.value0;             _value1 = params.value1;             _value2 = params.value2;             _value3 = params.value3;         }     } } // Вызываем так! var amclass:AllMightyClass = new AllMightyClass( //редактор кода предлагает ввести параметры так: [...]]]></description>
			<content:encoded><![CDATA[<p>Начнем с примера:</p>
<p><span style="font-family: 'Courier New'; color: black; font-size: small;">package<br />
{<br />
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> AllMightyClass<br />
    {<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _value0:String;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _value1:Array;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _value2:<span style="color: #0000ff;">int</span>;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> _value3:Object;<br />
        <br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> AllMightyClass(<span style="color: #0000ff;">params</span>:Object)<br />
        {<br />
            _value0 = <span style="color: #0000ff;">params</span>.value0;<br />
            _value1 = <span style="color: #0000ff;">params</span>.value1;<br />
            _value2 = <span style="color: #0000ff;">params</span>.value2;<br />
            _value3 = <span style="color: #0000ff;">params</span>.value3;<br />
        }<br />
    }<br />
}<br />
<span style="color: #008000;">// Вызываем так!</span><br />
<span style="color: #0000ff;">var</span> amclass:AllMightyClass = <span style="color: #0000ff;">new</span> AllMightyClass(<br />
//редактор кода предлагает ввести параметры так: AllMightyClass(<span style="color: #0000ff;">params</span>:Object) </span></p>
<p>Это очень не удобно! Поэтому есть ко всем вам предложение делать так:</p>
<p><span style="font-family: 'Courier New'; color: black; font-size: small;"><span style="color: #008000;">// Сделаем мы класс который будет содержать в себе все переменные необходимые для другого класса!</span><br />
package<br />
{<br />
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> AllMightyClassVO<br />
    {<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value0:String;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value1:Array;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value2:<span style="color: #0000ff;">int</span>;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value3:Object;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> AllMightyClassVO(value0:String, value1:Array, value2:<span style="color: #0000ff;">int</span>, value3:Object)<br />
        {<br />
            <span style="color: #0000ff;">this</span>.value0 = value0;<br />
            <span style="color: #0000ff;">this</span>.value1 = value1;<br />
            <span style="color: #0000ff;">this</span>.value2 = value2;<br />
            <span style="color: #0000ff;">this</span>.value3 = value3;<br />
        }<br />
    }<br />
}<br />
<span style="color: #008000;">// Используйте этот класс в принимаемых параметрах</span><br />
package<br />
{<br />
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> AllMightyClass<br />
    {<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value0:String;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value1:Array;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value2:<span style="color: #0000ff;">int</span>;<br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">var</span> value3:Object;<br />
        <br />
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">function</span> AllMightyClass(valueObject:AllMightyClassVO)<br />
        {<br />
            <span style="color: #0000ff;">this</span>.value0 = valueObject.value0;<br />
            <span style="color: #0000ff;">this</span>.value1 = valueObject.value1;<br />
            <span style="color: #0000ff;">this</span>.value2 = valueObject.value2;<br />
            <span style="color: #0000ff;">this</span>.value3 = valueObject.value3;<br />
        }<br />
    }<br />
}<br />
<span style="color: #008000;">// Теперь мы вызываем так</span><br />
<span style="color: #0000ff;">var</span> amclass:AllMightyClass = <span style="color: #0000ff;">new</span> AllMightyClass(<br />
<span style="color: #008000;">//Редактор кода на предлагает так: AllMightyClass(valueObject:AllMightyClassVO)</span><br />
<span style="color: #008000;">// Теперь напишем чуть-чуть дальше)))</span><br />
<span style="color: #0000ff;">var</span> amclass:AllMightyClass = <span style="color: #0000ff;">new</span> AllMightyClass(<span style="color: #0000ff;">new</span> AllMightyClassVO(<br />
<span style="color: #008000;">//редактор кода теперь предлагает так: AllMightyClassVO(value0:String, value1:Array, value2:int, value3:Object)</span></span></p>
<p>+ комфортность + разборчивость кода!</p>
]]></content:encoded>
			<wfw:commentRss>http://flastar.ru/blog/flastarposts/15/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
