<?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>Nicolas Prof blog &#187; tip</title>
	<atom:link href="http://blog.nicolasprof.com/tag/tip/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.nicolasprof.com</link>
	<description>Flash блог</description>
	<lastBuildDate>Thu, 06 May 2010 17:08:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tips &amp; Tricks 1</title>
		<link>http://blog.nicolasprof.com/tips-tricks-1</link>
		<comments>http://blog.nicolasprof.com/tips-tricks-1#comments</comments>
		<pubDate>Wed, 03 Jun 2009 17:17:45 +0000</pubDate>
		<dc:creator>Nicolas Prof</dc:creator>
				<category><![CDATA[Опыт]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[trick]]></category>

		<guid isPermaLink="false">http://blog.nicolasprof.com/?p=246</guid>
		<description><![CDATA[Как и ранее обещал, начинаю рубрику полезных советов, наблюдений и уклонов от граблей. Поехали.

Есть форма построенная на собственной разработки UI компонентах, очень любимых нами, или может даже с помощью стандартных компонентов, которые кстати очень даже качественно написаны. И при отправке формы, или при каких либо других действиях требующих от нас временного блокирования формы кто то [...]]]></description>
			<content:encoded><![CDATA[<p>Как и ранее обещал, начинаю рубрику полезных советов, наблюдений и уклонов от граблей. Поехали.</p>
<ol>
<li>Есть форма построенная на собственной разработки UI компонентах, очень любимых нами, или может даже с помощью стандартных компонентов, которые кстати очень даже качественно написаны. И при отправке формы, или при каких либо других действиях требующих от нас временного блокирования формы кто то возможно попробует перебрать список UI компонентов, и если это наши компоненты вызвать некий метод ui.active = false, или если стандартные, то ui.enabled = false. Но такая операция трудоемкая, совсем никому не нужный лишний цикл, плюс ко всему ошибки, если форма сложная, то еще и проверки. Так вот, делать это все не надо, потому как есть намного изящный и на порядок более быстрый подход, а так же из-за простоты реализации еще и снижающий вероятность ошибки. Для блокировки форм, и любых других интерактивных объектов, лучше всего использоваться Sprite. Если необходимо показать какое то модальное окно, то просто добавляем на Stage, наш блокирующий слой, у меня как правило он называется незамысловато _blockLayer. Блокирующий слой заливается посредством Graphics любым цветом с полной прозрачностью и не одно MouseEvent событие не пройдет сквозь блокирующий слой. А еще более быстрый способ, это не использовать Alpha, а использовать BlendMode. Так же закрашиваем блокирующий слой черным (кто не знает, это 0 или умнее 0х000000), и ставим _blockLayer.blendMode = BlendMode.ERASE.</li>
<li>Отдавайте предпочтение маскам реализованным за счет Rectangle, т.е. anyDisObject.scrollRect = new Rectangle(0,0,100,50). Но не забывайте, для премущества от ScrollRect необходимо маскируемый объект кэшировать как изображение cacheAsBitmap = true. Есть несколько неудобств при использовании ScrollRect &#8211; при перемещении, необходимо постоянно обновлять прямоугольник anyDisObject.scrollRect = _dynamicRectangleRef, ну и естественно, что бы не создавать каждый раз новый объект, правильно изначально создать Rectangle, и менять нужные нам параметры: x, y, width, height.</li>
<li>Перед удаление объекта с Display List, сделайте объект невидимым, objToDelete.visible = false. Освободите немного памяти, которой всегда нехватает.</li>
<li>Если ссылке на объект типа Sound назначить null, то тяжелый объект будет сразу высвобожден с памяти.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.nicolasprof.com/tips-tricks-1/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
