<?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>پادشاه فلش &#187; MovieClip</title>
	<atom:link href="http://blog.iflashlord.com/tag/movieclip/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iflashlord.com</link>
	<description>دست نوشته های یک پادشاه فلش</description>
	<lastBuildDate>Wed, 11 Jan 2012 12:09:13 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>تمام صفحه در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/10/%d8%aa%d9%85%d8%a7%d9%85-%d8%b5%d9%81%d8%ad%d9%87-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/</link>
		<comments>http://blog.iflashlord.com/1390/10/%d8%aa%d9%85%d8%a7%d9%85-%d8%b5%d9%81%d8%ad%d9%87-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 11:40:58 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[allowFullScreen]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[buttonMode]]></category>
		<category><![CDATA[displayState]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[fullScreen]]></category>
		<category><![CDATA[FULL_SCREEN]]></category>
		<category><![CDATA[gotoAndStop]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[MouseEvent.CLICK]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[NORMAL]]></category>
		<category><![CDATA[stage]]></category>
		<category><![CDATA[stage.displayState]]></category>
		<category><![CDATA[stage.scaleMode]]></category>
		<category><![CDATA[StageDisplayState]]></category>
		<category><![CDATA[StageDisplayState.FULL_SCREEN]]></category>
		<category><![CDATA[StageDisplayState.NORMAL]]></category>
		<category><![CDATA[StageScaleMode]]></category>
		<category><![CDATA[StageScaleMode.NO_SCALE]]></category>
		<category><![CDATA[switchFullScreen]]></category>
		<category><![CDATA[اچ تی ام ال]]></category>
		<category><![CDATA[تمام صفحه]]></category>
		<category><![CDATA[حالت عادی]]></category>
		<category><![CDATA[فعال کردن تمام صفحه]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[فول اسکرین]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1780</guid>
		<description><![CDATA[در این مطلب به تمام صفحه کردن یا همان fullscreen کردن در اکشن اسکریپت ۳ می پردازیم و دکمه ای را ایجاد می کنیم که با کلیک بر روی آن فلش ما به حالت تمام صفحه رفته و با کلیک مجدد به حالت عادی باز گردد. دانلود سورس پروژه : fullscreen_as3_iflashlord.zip برای این کار می [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/12/fullscreen_as3_flash_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب به تمام صفحه کردن یا همان fullscreen کردن در اکشن اسکریپت ۳ می پردازیم و دکمه ای را ایجاد می کنیم که با کلیک بر روی آن فلش ما به حالت تمام صفحه رفته و با کلیک مجدد به حالت عادی باز گردد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1780"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس پروژه : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/12/fullscreen_as3_iflashlord.zip" target="_blank">fullscreen_as3_iflashlord.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای این کار می بایست از متد displayState مربوط به Stage استفاده کنیم و به آن مقدار دهی نماییم ؛ در حالت عادی مقدار روی normal تنظیم شده است برای تمام صفحه شدن ما مقدار را روی fullScreen قرار می دهیم با این کار فلش به حالت تمام صفحه می رود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ما به جای مقدار رشته ای می توانیم از ثابت های StageDisplayState استفاده نماییم ، برای normal از StageDisplayState.NORMAL و برای fullScreen از StageDisplayState.FULL_SCREEN استفاده می کنیم. البته شما در استفاده هر دو نوع آزاد هستید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ابتدا کلاس های مورد نیاز را import می کنیم :</p>
<pre class="brush: as3; title: ; notranslate">
//وارد کردن کلاس های مورد نیاز
import flash.events.MouseEvent;
import flash.display.Stage;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد دکمه ای ایجاد می کنیم ، برای این کار در این نمونه از یک MovieClip استفاده می کنیم که ۲ فریم دارد و در فریم اول متن <strong>تمام صفحه</strong> و در فریم دوم متن <strong>حالت عادی</strong> را قرار می دهیم، این کار برای این است که در هر زمان بتوانیم عملکرد دکمه را به کاربر نشان دهیم. شما می توانید از نمادهای گرافیکی نیز برای این کار استفاده کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال رویداد CLICK را برای زمان کلیک کردن روی کمه فعال می کنیم</p>
<pre class="brush: as3; title: ; notranslate">
//ایجاد رویداد کلیک برای دکمه
fullscreen_btn.addEventListener(MouseEvent.CLICK , switchFullScreen , false , 0 , true);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و توسط متد buttonMode ما به MovieClip مان حالت دکمه می دهیم</p>
<pre class="brush: as3; title: ; notranslate">
//ایجاد حالت دکمه ای برای مووی کلیپ
fullscreen_btn.buttonMode =true;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال تابع switchFullScreen را تعریف می کنیم و درون آن یک if قرار می دهیم تا در زمانی که فلش ما در حالت عادی بود به با کلیک به حالت تمام صفحه برود و زمانی که در حال تمام صفحه بود با کلیک به حالت عادی برود</p>
<pre class="brush: as3; title: ; notranslate">

function switchFullScreen(e:MouseEvent)
{
	if (stage.displayState == StageDisplayState.NORMAL)
	{
		//مقدار دهی تمام صفحه
		stage.displayState = StageDisplayState.FULL_SCREEN;
		//نمایش حالت عادی برای دکمه
		fullscreen_btn.gotoAndStop(2);
	}
	else
	{
		//مقدار دهی حالت نرمال
		stage.displayState = StageDisplayState.NORMAL;
		//نمایش تمام صفحه برای دکمه
		fullscreen_btn.gotoAndStop(1);
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال اگر دقت کرده باشید در حالت تمام صفحه پروژه شما نسبت به طول و عرض مانیتور شما کشیده می شود در صورتی که بخواهید جلوی این کشیدگی را بگیرید می بایست از متد stage.scaleMode استفاده کنید و آن را بر روی StageDisplayState.NO_SCALE قرار دهید :</p>
<pre class="brush: as3; highlight: [7,8]; title: ; notranslate">
function switchFullScreen(e:MouseEvent)
{
	if (stage.displayState == StageDisplayState.NORMAL)
	{
		//مقدار دهی تمام صفحه
		stage.displayState = StageDisplayState.FULL_SCREEN;
		//برای حفظ ساختار بعد از تمام صفحه شدن - در صورت نیاز
		stage.scaleMode = StageScaleMode.NO_SCALE;
		//نمایش حالت عادی برای دکمه
		fullscreen_btn.gotoAndStop(2);
	}
	else
	{
		//مقدار دهی حالت نرمال
		stage.displayState = StageDisplayState.NORMAL;
		//نمایش تمام صفحه برای دکمه
		fullscreen_btn.gotoAndStop(1);
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>نکته برای استفاده در مرورگرها :</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">اگر قصد دارید مثلا وبسایت فلش شما در مرورگر نیز امکان تمام صفحه شدن را داشته باشد می بایست یک بخش به تگ Object مربوطه به کد HTML صفحه خود اضافه کنید ، این بخش کد برای تگ Object به این صورت می باشد :</p>
<pre class="brush: xml; title: ; notranslate">
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و در صورتی که از تگ Embed (توصیه نمی شود) استفاده می کنید به این صورت :</p>
<pre class="brush: xml; title: ; notranslate">
&lt;embed ... allowfullscreen=&quot;true&quot; /&gt;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em>سه نقطه (&#8230;) مربوطه به بخش ها و پارامترهایی دیگری می باشد که در کد قرار داده نشده است.</em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می توانید پروژه خود را توسط فایل HTML آن تست نمایید ، برای ایجاد خودکار فایل HTML کلید F12 را بفشارید و <strong>البته به یاد داشته باشید فایل ایجاد شده را ویرایش کرده و خط کد مربوطه به allowfullscreen را به پارامترهای کد صفحه اضافه کنید</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>نمونه ای برای بهتر متوجه شدن محل اضافه کردن کد :</strong></p>
<pre class="brush: xml; highlight: [10,11]; title: ; notranslate">
...
&lt;param name=&quot;quality&quot; value=&quot;high&quot; /&gt;
&lt;param name=&quot;bgcolor&quot; value=&quot;#ffffff&quot; /&gt;
&lt;param name=&quot;loop&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;wmode&quot; value=&quot;window&quot; /&gt;
&lt;param name=&quot;scale&quot; value=&quot;showall&quot; /&gt;
&lt;param name=&quot;menu&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;devicefont&quot; value=&quot;false&quot; /&gt;
&lt;param name=&quot;allowScriptAccess&quot; value=&quot;sameDomain&quot; /&gt;
&lt;!--محل افزودن کد--&gt;
&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;
...
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em>سه نقطه (&#8230;) مربوطه به بخش ها و پارامترهایی دیگری می باشد که در کد قرار داده نشده است.</em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>البته توجه داشته باشید که محل قرار گرفتن پارامتر بالاتر و یا پایین تر از دیگر پارامترها مهم نیست.</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>کد نهایی پروژه :</strong></p>
<pre class="brush: as3; title: ; notranslate">
//وارد کردن کلاس های مورد نیاز
import flash.events.MouseEvent;
import flash.display.Stage;
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;

//ایجاد رویداد کلیک برای دکمه
fullscreen_btn.addEventListener(MouseEvent.CLICK , switchFullScreen , false , 0 , true);
//ایجاد حالت دکمه ای برای مووی کلیپ
fullscreen_btn.buttonMode =true;

function switchFullScreen(e:MouseEvent)
{
	if (stage.displayState == StageDisplayState.NORMAL)
	{
		//مقدار دهی تمام صفحه
		stage.displayState = StageDisplayState.FULL_SCREEN;
		//برای حفظ ساختار بعد از تمام صفحه شدن - در صورت نیاز
		stage.scaleMode = StageScaleMode.NO_SCALE;
		//نمایش حالت عادی برای دکمه
		fullscreen_btn.gotoAndStop(2);
	}
	else
	{
		//مقدار دهی حالت نرمال
		stage.displayState = StageDisplayState.NORMAL;
		//نمایش تمام صفحه برای دکمه
		fullscreen_btn.gotoAndStop(1);
	}
}
</pre>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس پروژه : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/12/fullscreen_as3_iflashlord.zip" target="_blank">fullscreen_as3_iflashlord.zip</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/10/%d8%aa%d9%85%d8%a7%d9%85-%d8%b5%d9%81%d8%ad%d9%87-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>اعمال افکت blur به BitmapData در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-%d8%a7%d9%81%da%a9%d8%aa-blur-%d8%a8%d9%87-bitmapdata-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-%d8%a7%d9%81%da%a9%d8%aa-blur-%d8%a8%d9%87-bitmapdata-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/#comments</comments>
		<pubDate>Mon, 21 Nov 2011 00:51:47 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[applyFilter]]></category>
		<category><![CDATA[AS Linkage]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[BitmapData]]></category>
		<category><![CDATA[blur]]></category>
		<category><![CDATA[blurApply]]></category>
		<category><![CDATA[BlurFilter]]></category>
		<category><![CDATA[blur_effect_bitmapdata_iflashlord]]></category>
		<category><![CDATA[bmd]]></category>
		<category><![CDATA[Ctrl+R]]></category>
		<category><![CDATA[DisplayObject]]></category>
		<category><![CDATA[effect]]></category>
		<category><![CDATA[effectBlur]]></category>
		<category><![CDATA[flash.display.Bitmap]]></category>
		<category><![CDATA[flash.display.BitmapData]]></category>
		<category><![CDATA[flash.geom.Point]]></category>
		<category><![CDATA[flash.geom.Rectangle]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[MyPic]]></category>
		<category><![CDATA[Point]]></category>
		<category><![CDATA[rect]]></category>
		<category><![CDATA[rect.topLeft]]></category>
		<category><![CDATA[Rectangle]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[stage]]></category>
		<category><![CDATA[آرگمان]]></category>
		<category><![CDATA[ادوبی]]></category>
		<category><![CDATA[افکت]]></category>
		<category><![CDATA[افکت بلور]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[بلور]]></category>
		<category><![CDATA[بیتمپ]]></category>
		<category><![CDATA[شی نمایشی]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1658</guid>
		<description><![CDATA[در این مطلب می خواهیم به روشی ساده برای اعمال افکت blur به یک شی از نوع BitmapData بپردازیم. توجه داشته باشید این نوع اعمال افکت با افکت ها و Filterهای معمول فلش متفاوت هست و بر روی خود BitmapData اعمال می شود و نه بر روی MovieClip ی که تصویری در آن قرار دارد. [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/11/blur_effect_bitmapdata_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب می خواهیم به روشی ساده برای اعمال افکت blur به یک شی از نوع BitmapData بپردازیم. توجه داشته باشید این نوع اعمال افکت با افکت ها و Filterهای معمول فلش متفاوت هست و بر روی خود BitmapData اعمال می شود و نه بر روی MovieClip ی که تصویری در آن قرار دارد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1658"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a title="blur_effect_bitmapdata_iflashlord" href="http://blog.iflashlord.com/wp-content/uploads/2011/11/blur_effect_bitmapdata_iflashlord.zip">blur_effect_bitmapdata_iflashlord.zip  </a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">یک پروژه جدید در نرم افزار ادوبی فلش ایجاد نمایید و یک تصویر را وارد برنامه کنید (Ctrl+R) در این مثال ما از تصویر زیر استفاده کرده ایم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1661" title="blur_bitmap_sample_image_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/blur_bitmap_sample_image_iflashlord.jpg" alt="" width="469" height="349" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و کلاس های مورد نیاز را import می کنیم :</p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Rectangle;
import flash.geom.Point;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد تابعی با نام blurApply ایجاد می کنیم و آرگمان آن را bmd و از نوع BitmapData قرار می دهیم.</p>
<pre class="brush: as3; title: ; notranslate">
function blurApply(bmd:BitmapData):BitmapData
{
	var effectBlur:BlurFilter = new BlurFilter(4,4,3);
	var rect:Rectangle = new Rectangle(0,0,bmd.width ,bmd.height );
	var point:Point = new Point(0,0);

	bmd.applyFilter(bmd , rect , point , effectBlur);

	return bmd;
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این تابع ابتدا یک متغیر با نام effectBlur می سازیم و نوع آن را BlurFilter قرار می دهیم و یک نمونه از کلاس BlurFilter را ایجاد می کنیم ، آرگمان های ورودی این کلاس سه مورد می باشد که دو مورد اول برای ایجاد افکت blur در طول و عرض می باشد و مورد سوم مربوطه به کیفیت این افکت که بر روی شی ما اعمال می شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در خط بعد ما یک متغیر از نوع Rectangle با نام rect ایجاد می کنیم ایم متغیر در واقع وظیفه مشخص کردن محدوده ای می باشد که قرار است افکت بر روی آن اعمال شود به همین دلیل دو مقدار اولیه که x, y می باشند و محل شروع را مشخص می کنند با ۰ و ۰ مقدار دهی شده اند و دو مقدار بعدی که مربوطه به عرض و طول می باشند با عرض و طول BitmapData که آرگمان ورودی این تابع می باشد مقدار دهی شده اند.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در خط بعد یک Point نیز با مقدار ۰,۰ ایجاد می کنیم که مشخص کننده گوشه سمت چپ و بالایی شی می باشد. به جای این بخش می توانیم از rect.topLeft نیز استفاده کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در خط بعد توسط applyFilter اقدام به اعمال افکت بر روی شی خود می نماییم، این متد مربوطه به BitmapData می باشد و آرگمان های ورودی آن به ترتیب مربوطه به شی BitmapData و محدوده مشخص کننده ، point و افکت تعریف شده ، می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">تغییرات مورد نظر ما در این تابع بر روی bmd انجام شده است ، حال bmd را به عنوان مقدار بازگشتی تابع در خط آخر تابع return می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">تا این مرحله تابع مورد نظر ما ایجاد شد ، حال به نحوه استفاده آن می پردازیم. تصویری که در ابتدا در پروژه وارد کردیم را از stage حذف می کنیم به بخش Library می رویم و AS Linkage آن را با  MyPic مقدار دهی می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1663" title="as_linkage_sample_image_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/as_linkage_sample_image_iflashlord.png" alt="" width="357" height="346" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال یک متغیر با نام myPic و از نوع MyPic ایجاد می کنیم و آن را با یک نمونه از MyPic مقدار دهی می کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
var myPic:MyPic = new MyPic();//دریافت تصویر از کتابخانه
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">سپس یک متغیر با نام bit می سازیم و آن را از نوع کلاس Bitmap قرار می دهیم و یک نمونه از کلاس Bitmap را به آن نسبت می دهیم در آرگمان اول مربوطه با کلاس Bitmap مقدار myPic را وارد می کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
var bit:Bitmap = new Bitmap(myPic);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد نیز خصوصیت BitmapData مربوطه به متغیر bit را توسط تابع ایجاد شده مقدار دهی می کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
bit.bitmapData = blurApply(bit.bitmapData);
addChild(bit);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و در آخر نیز bit را توسط <a title="توابع در اکشن اسکریپت ۳" href="http://blog.iflashlord.com/1388/08/%d8%aa%d9%88%d8%a7%d8%a8%d8%b9-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/">addChild </a>به شی نمایشی (<a title="Display List و اکشن اسکریپت ۳" href="http://blog.iflashlord.com/1388/09/display-list-%d9%88-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/">DisplayObject</a>) اضافه می کنیم تا در صفحه نمایش داده شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">نتیجه به این شکل خواهد بود :</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1664" title="blured_sample_image_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/blured_sample_image_iflashlord.jpg" alt="" width="469" height="349" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال اگر در تابع در بخش rect که مربوطه به محدوده ای می باشد که افکت بر روی آن اعمال می شود ، مقدارهای عرض و طول را تقسیم بر ۲ کنیم در واقع افکت بر روی یک چهارم تصویر اعمال می شود.</p>
<pre class="brush: as3; highlight: [4]; title: ; notranslate">
function blurApply(bmd:BitmapData):BitmapData
{
	var effectBlur:BlurFilter = new BlurFilter(4,4,3);
	var rect:Rectangle = new Rectangle(0,0,bmd.width/2 ,bmd.height/2 );
	var point:Point = new Point(0,0);

	bmd.applyFilter(bmd , rect , point , effectBlur);

	return bmd;
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و نتیجه خروجی به این شکل خواهد بود :</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1665" title="blured_half_sample_image_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/blured_half_sample_image_iflashlord.jpg" alt="" width="469" height="349" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">شما این امکان را دارید که با مقدار دهی دو آرگمان اول rectangle در بخش نمایشی تصویر جا به جایی ایجاد کنید و توسط مقدار دهی دو آرگمان point مختصات محل نمایش بخشی که افکت بر روی آن اعمال شده را تغییر دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در پایان تمام کدهایی که برای این پروژه نیاز می باشد را در زیر قرار می دهیم:</p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.geom.Rectangle;
import flash.geom.Point;

function blurApply(bmd:BitmapData):BitmapData
{
	var effectBlur:BlurFilter = new BlurFilter(4,4,3);
	var rect:Rectangle = new Rectangle(0,0,bmd.width ,bmd.height);
	var point:Point = new Point(0,0);

	bmd.applyFilter(bmd , rect , point , effectBlur);

	return bmd;
}

var myPic:MyPic = new MyPic();//دریافت تصویر از کتابخانه
var bit:Bitmap = new Bitmap(myPic);

bit.bitmapData = blurApply(bit.bitmapData);
addChild(bit);
</pre>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a title="blur_effect_bitmapdata_iflashlord" href="http://blog.iflashlord.com/wp-content/uploads/2011/11/blur_effect_bitmapdata_iflashlord.zip">blur_effect_bitmapdata_iflashlord.zip  </a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-%d8%a7%d9%81%da%a9%d8%aa-blur-%d8%a8%d9%87-bitmapdata-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>ایجاد دسترسی به stage و root در کلاس ها</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%d8%a8%d9%87-stage-%d9%88-root-%d8%af%d8%b1-%da%a9%d9%84%d8%a7%d8%b3-%d9%87%d8%a7/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%d8%a8%d9%87-stage-%d9%88-root-%d8%af%d8%b1-%da%a9%d9%84%d8%a7%d8%b3-%d9%87%d8%a7/#comments</comments>
		<pubDate>Sun, 20 Nov 2011 01:34:43 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[ADDED_TO_STAGE]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[Event.ADDED_TO_STAGE]]></category>
		<category><![CDATA[extends]]></category>
		<category><![CDATA[import flash.display.DisplayObject]]></category>
		<category><![CDATA[import flash.display.MovieClip]]></category>
		<category><![CDATA[import flash.display.Stage]]></category>
		<category><![CDATA[import flash.events.Event]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[MyClass]]></category>
		<category><![CDATA[public]]></category>
		<category><![CDATA[removeEventListener]]></category>
		<category><![CDATA[افزوده شده به استیج]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[دسترسی به root]]></category>
		<category><![CDATA[دسترسی به stage]]></category>
		<category><![CDATA[رویداد]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[مووی کلیپ]]></category>
		<category><![CDATA[کلاس]]></category>
		<category><![CDATA[گسترش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1646</guid>
		<description><![CDATA[همان طور که می دانید درون کلاس ها دسترسی مستقیم به stage و root وجود ندارد به طور مثال در یک کلاس که از یک MovieClip گشترش (extends) داده شده است ، شما نمی توانید stage.stageWidth را trace کنید و در واقع آن را دریافت کنید و مقداری که در زمان trace به شما نشان [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/11/stage_root_access_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">همان طور که می دانید درون کلاس ها دسترسی مستقیم به <strong>stage</strong> و <strong>root</strong> وجود ندارد به طور مثال در یک کلاس که از یک <strong>MovieClip</strong> گشترش (<strong>extends</strong>) داده شده است ، شما نمی توانید <strong>stage.stageWidth</strong> را <strong>trace</strong> کنید و در واقع آن را دریافت کنید و مقداری که در زمان trace به شما نشان داده می شود <strong>null</strong> می باشد. در این مطلب ما به راه حل ساده ای برای این موضوع می پردازیم که توسط آن می توانید به راحتی به <strong>stage</strong> و <strong>root</strong> مربوطه به <strong>DisplayObject</strong> خود دسترسی داشته باشید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1646"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a title="stage_root_access_in_class_as3_iflashlord" href="http://blog.iflashlord.com/wp-content/uploads/2011/11/stage_root_access_in_class_as3_iflashlord.zip">stage_root_access_in_class_as3_iflashlord.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ابتدا به یک مثال برای مواردی که دسترسی وجود ندارد می پردازیم تا در صورتی که تا به حال با این مورد رو به رو نشده اید ، موضوع بیشتر برای شما باز شود.</p>
<pre class="brush: as3; title: ; notranslate">
package
{
	import flash.events.Event;
	import flash.display.MovieClip;

	public class MyClass extends MovieClip
	{
	   public function MyClass()
		{

		trace(stage);//null
		//trace(stage.stageWidth);//TypeError

		}

	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مثال بالا شما نمی توانید به <strong>stage</strong> و <strong>stageWidth</strong> دسترسی داشته باشید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال به راه حل این موضوع می پردازیم ، در صورتی که بخواهیم همین مثال بالا به درستی امکان دسترسی به <strong>stage</strong> را داشته باشد می بایست ابتدا درون تابع <strong>constractor</strong> که همیشه هم نام کلاس می باشد (در این مثال <strong>MyClsss</strong>) ،رویداد (<strong>Event.ADDED_TO_STAGE</strong>)  را تعریف کرد و آن را به تابعی که در مثال ما <strong>added</strong> می باشد ارجاع داد ( Event.ADDED_TO_STAGE,<strong dir="ltr">added</strong> ). حال درون تابع <strong>added</strong> ما دسترسی کامل به <strong>stage</strong> داریم و می توانید به طور مثال <strong>stage.stageWidth</strong> را <strong>trace</strong> نماییم. در ضمن حال می توانید رویداد تعریف شده را حذف نماییم (<strong>removeEventListener</strong>).</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">به کد زیر دقت کنید:</p>
<pre class="brush: as3; title: ; notranslate">
package
{
	import flash.display.MovieClip;
	import flash.events.Event;

	public class MyClass extends MovieClip
	{
	   public function MyClass()
		{
			addEventListener(Event.ADDED_TO_STAGE,added);
		}

		public function added(e:Event):void{
			removeEventListener(Event.ADDED_TO_STAGE,added);
			trace(stage.stageWidth); //محتوای عددی

		}
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال این کلاس را می توانیم برای <strong>root</strong> نیز بیشتر توسعه دهیم و تغییراتی در آن اعمال کنیم، در زیر نمونه کامل شده را مشاهده می کنید :</p>
<pre class="brush: as3; title: ; notranslate">
package {

	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.Stage;
	import flash.events.Event;

	public class MyClass extends MovieClip {

		public static var stage:Stage;
		public static var root:DisplayObject;

		public function MyClass() {
			if (this.stage){
				added();
			}else{
				addEventListener(Event.ADDED_TO_STAGE, added);
			}
			trace(stage); //null
			//trace(stage.width); //TypeError
		}

		private function added(e:Event = null):void {
			if (e){
				removeEventListener(Event.ADDED_TO_STAGE, added);
			}
			MyClass.stage = this.stage;
			MyClass.root = this;

			trace(MyClass.stage)
			trace(MyClass.root)
		}
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">همان طور که در کد بالا مشاهده می کنید دو متغیر <strong>static</strong> ایجاد شده است که این امکان را به شما می دهد به مقدارهای <strong>stage</strong> در <strong>root</strong> بعد از مقدار دهی شدن به راحتی دسترسی داشته باشید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">اگر دوست داشته باشیم کدمان کمی از نمونه کنونی<strong><a title="بهینه سازی فلش – فعال سازی و غیر فعال سازی رویدادها" href="http://blog.iflashlord.com/1390/02/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-%d9%81%d8%b9%d8%a7%d9%84-%d8%b3%d8%a7%d8%b2%db%8c-%d9%88-%d8%ba%db%8c%d8%b1-%d9%81%d8%b9%d8%a7%d9%84-%d8%b3%d8%a7%d8%b2/"> بهینه تر </a></strong>باشد می توانیم با تغییرات کوچکی این کار را انجام دهیم.</p>
<pre class="brush: as3; highlight: [17]; title: ; notranslate">
package {

	import flash.display.DisplayObject;
	import flash.display.MovieClip;
	import flash.display.Stage;
	import flash.events.Event;

	public class MyClass extends MovieClip {

		public static var stage:Stage;
		public static var root:DisplayObject;

		public function MyClass() {
			if (this.stage){
				added();
			}else{
				addEventListener(Event.ADDED_TO_STAGE, added , false , 0 , true);
			}
			trace(stage); //null
			//trace(stage.width); //TypeError
		}

		private function added(e:Event = null):void {
			if (e){
				removeEventListener(Event.ADDED_TO_STAGE, added);
			}
			MyClass.stage = this.stage;
			MyClass.root = this;

			trace(MyClass.stage)
			trace(MyClass.root)
		}
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال شاید این سوال در ذهن شما ایجاد شود که چگونه می توان از این کلاس استفاده نمود ، برای استفاده نیز در زیر به مثالی بسیار ساده می پردازیم.</p>
<pre class="brush: as3; title: ; notranslate">
import MyClass;
var myClass:MyClass = new MyClass();
addChild(myClass);
trace(&quot;myClass.stage.stageWidth:&quot;+myClass.stage.stageWidth)
</pre>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"> دانلود سورس : <a title="stage_root_access_in_class_as3_iflashlord" href="http://blog.iflashlord.com/wp-content/uploads/2011/11/stage_root_access_in_class_as3_iflashlord.zip">stage_root_access_in_class_as3_iflashlord.zip</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%d8%af%d8%b3%d8%aa%d8%b1%d8%b3%db%8c-%d8%a8%d9%87-stage-%d9%88-root-%d8%af%d8%b1-%da%a9%d9%84%d8%a7%d8%b3-%d9%87%d8%a7/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>کلاس TransitionManager در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/08/%da%a9%d9%84%d8%a7%d8%b3-transitionmanager-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/</link>
		<comments>http://blog.iflashlord.com/1390/08/%da%a9%d9%84%d8%a7%d8%b3-transitionmanager-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 01:20:33 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Blinds]]></category>
		<category><![CDATA[dimension]]></category>
		<category><![CDATA[direction]]></category>
		<category><![CDATA[DisplayObject]]></category>
		<category><![CDATA[duration]]></category>
		<category><![CDATA[easing]]></category>
		<category><![CDATA[effect]]></category>
		<category><![CDATA[Fade]]></category>
		<category><![CDATA[fl.transitions]]></category>
		<category><![CDATA[Fly]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Iris]]></category>
		<category><![CDATA[Microsoft PowerPoint]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[None.easeOut]]></category>
		<category><![CDATA[numStrips]]></category>
		<category><![CDATA[Photo]]></category>
		<category><![CDATA[PixelDissolve]]></category>
		<category><![CDATA[Rotate]]></category>
		<category><![CDATA[Squeeze]]></category>
		<category><![CDATA[startPoint]]></category>
		<category><![CDATA[startTransition]]></category>
		<category><![CDATA[Strong.easeOut]]></category>
		<category><![CDATA[Transition.OUT]]></category>
		<category><![CDATA[transitions]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[Wipe]]></category>
		<category><![CDATA[Zoom]]></category>
		<category><![CDATA[افکت]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[جلوه‌های بصری]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1573</guid>
		<description><![CDATA[کلاس TransitionManager در بسته fl.transitions تعریف شده و برای شبیه سازی جلوه‌های بصری نمایش و مخفی سازی اسلایدها مورد استفاده قرار می‌گیرد. نوع جلوه‌های بصری این کلاس که  ۱۰ مورد هستند (Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom)، مشابه effect های نمایشی موجود در برنامه Microsoft PowerPoint است. برای استفاده از جلوه‌های نمایشی [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/11/transition_manager_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">کلاس TransitionManager در بسته fl.transitions تعریف شده و برای شبیه سازی جلوه‌های بصری نمایش و مخفی سازی اسلایدها مورد استفاده قرار می‌گیرد.<br />
نوع جلوه‌های بصری این کلاس که  ۱۰ مورد هستند (Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom)، مشابه effect های نمایشی موجود در برنامه Microsoft PowerPoint است.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1573"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای استفاده از جلوه‌های نمایشی کلاس TransitionManager لازم است که شی جدیدی از نوع کلاس آن تعریف نموده و DisplayObject مورد نظر را به عنوان پارامتر ورودی به ان ارسال نماییم. سپس از متد startTransition استفاده کرده و نوع جلوه ی مذکور را به همراه پارامترهای آن مشخص می‌کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال در ادامه به نمونه ای از هر یک از effect های مربوطه به Transition می پردازیم :</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em>توجه نمایید در تمامی مثال های زیر my_mc به MovieClip ی مربوطه می باشد که افکت مربوطه روی آن اعمال می شود.</em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Blinds:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Blinds, direction:Transition.OUT, duration:3, easing:None.easeOut, numStrips:50, dimension:1});
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Fade:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Fade, direction:Transition.OUT, duration:3, easing:Strong.easeOut});
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Fly:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Fly, direction:Transition.OUT, duration:3, easing:Strong.easeOut, startPoint:7});
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Iris:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Iris, direction:Transition.OUT, duration:3, easing:Strong.easeOut, startPoint:1, shape:Iris.CIRCLE});
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Photo:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Photo, direction:Transition.OUT, duration:3, easing:Strong.easeOut});
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> PixelDissolve:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:PixelDissolve, direction:Transition.OUT, duration:3, easing:None.easeOut, xSections:35, ySections:35});
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Rotate:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Rotate, direction:Transition.OUT, duration:3, easing:None.easeOut, ccw:false, degrees:720});
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Squeeze:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Squeeze, direction:Transition.OUT, duration:3, easing:None.easeOut, dimension:1});
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Wipe:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Wipe, direction:Transition.OUT, duration:3, easing:Strong.easeOut, startPoint:1});
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong> Zoom:</strong></p>
<pre class="brush: as3; title: ; notranslate">

import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Zoom, direction:Transition.OUT, duration:3, easing:Strong.easeOut});
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>و در نهایت یک نمونه ترکیبی</strong></p>
<pre class="brush: as3; title: ; notranslate">
import fl.transitions.*;
import fl.transitions.easing.*;

var myTM:TransitionManager = new TransitionManager(my_mc);
myTM.startTransition({type:Zoom, direction:Transition.IN, duration:7, easing:Strong.easeOut});
myTM.startTransition({type:Rotate, direction:Transition.IN, duration:7.5, easing:Bounce.easeOut});
myTM.startTransition({type:PixelDissolve, direction:Transition.IN, duration:5, easing:Strong.easeOut});
myTM.startTransition({type:Fly, direction:Transition.IN, duration:4, easing:Strong.easeOut});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%da%a9%d9%84%d8%a7%d8%b3-transitionmanager-%d8%af%d8%b1-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ایجاد چرخش افقی اشیاء با استفاده از کلاس Matrix</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%da%86%d8%b1%d8%ae%d8%b4-%d8%a7%d9%81%d9%82%db%8c-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-matrix/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%da%86%d8%b1%d8%ae%d8%b4-%d8%a7%d9%81%d9%82%db%8c-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-matrix/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 01:34:43 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[beginFill]]></category>
		<category><![CDATA[drawCircle]]></category>
		<category><![CDATA[endFill]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flip]]></category>
		<category><![CDATA[flipHorizontal]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[Horizontal]]></category>
		<category><![CDATA[Matrix]]></category>
		<category><![CDATA[matrix.a]]></category>
		<category><![CDATA[matrix.tx]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[Point]]></category>
		<category><![CDATA[rotation]]></category>
		<category><![CDATA[transform.matrix]]></category>
		<category><![CDATA[transformPoint]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[ماتریس]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1501</guid>
		<description><![CDATA[در این مطلب به ایجاد چرخش افقی و یا همان filp horizontal با کمک گرفتن از کلاس Matrix می پردازیم و در این میان به توضیحی بر نحوه تعیین کردن مرکز چرخش یک شی به صورت پویا توسط کد اکشن اسکریپت ۳ نیز می پردازیم. دانلود سورس : flipHorizontal_cs4.zip ابتدا کلاس های مورد نیاز را [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/11/matrix_flip_h_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب به ایجاد چرخش افقی و یا همان filp horizontal با کمک گرفتن از کلاس Matrix می پردازیم و در این میان به توضیحی بر نحوه تعیین کردن مرکز چرخش یک شی به صورت پویا توسط کد اکشن اسکریپت ۳ نیز می پردازیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1501"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/11/flipHorizontal_cs4.zip" target="_blank">flipHorizontal_cs4.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ابتدا کلاس های مورد نیاز را import می کنیم ، البته توجه داشته باشید در صورتی که کدها را در محیط های برنامه فلش و یا دیگر IDE های اکشن اسکریپت می نویسید در زمان نوشتن کد و در زمانی که توسط ( : ) نوع متغییر ها را مشخص می کنید به صورت خودکار کلاسه مورد نظر شما در ابتدای پروژه Import می شود و خط کد مربوطه به صورت خودکار در ابتدای پروژه شما قرار می گیرد. (البته توجه داشته باشید این امکان در نسخه های قدیمی برنامه های فوق الذکر وجود ندارد)</p>
<pre class="brush: as3; title: ; notranslate">
import flash.geom.Matrix;
import flash.geom.Point;
import flash.display.Graphics;
import flash.display.MovieClip;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال برای ایجاد چرخش و برای این که بتوانیم از آن برای اشیای متعدد استفاده کنیم ،آن را به صورت یک تابع ایجاد می کنیم و نام آن را filpHorizontal قرار می دهیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">آرگمان اصلی این تابع displayObject هست که شی مورد نظر شما را شامل می شود و آرگمان اختیاری بعدی که برای نمایش مرکز چرخش است که توسط کد ما به شی اعمال می شود در صورتی که این گزینه true باشد در مرکز چرخش شی ما یک دایره سیاه رنگ ایجاد می شود که نمایش دهنده مرکز چرخش کنونی است.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">همان طور که در کد مشخص است این دایره یک MovieClip هست که دایره ای با استفاده از فرامین graphics و استفاده از متد drawCircle در آن ایجاد شده است و به محل مربوطه به مرکز چرخش تغییر مختصات داده شده است و به شی اصلی ما addChild شده است.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال بهتر هست کمی در مورد Matrix ها توضیح داده شود تا با ذهنی باز تر به تحلیل کد بپردازیم:</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">یک ماتریس (matrix) دگرگونی شی یک ماتریس ۳ در ۳ با محتویات زیر می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1518" title="matrix_props1" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/matrix_props1.jpg" alt="" width="150" height="105" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ماتریس های دگرگونی u ، v و w خواص ارائه قابلیت های اضافی است. کلاس ماتریس (matrix) تنها در فضای دو بعدی عمل می کند ، بنابر این همواره فرض می شود خصوصیت u و v مقدار ۰.۰ و خصوصیت w مقدار ۱.۰ می باشد. در نتیجه ماتریس ما به صورت زیر است :</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1519" title="matrix_props2" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/matrix_props2.jpg" alt="" width="150" height="105" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">شما می توانید ۶ خصوصیت دیگر را در ماتریس شی خود (a,b,c,d,tx,ty) را مقدار دهی کنید (set) و یا مقدار آن را دریافت کنید (get).</p>
<pre class="brush: as3; title: ; notranslate">
function flipHorizontal(displayObject:MovieClip , visiblePoint = true):void
{
	//دریافت متریکس کنونی شی و قرار دادن آن در یک متغیر
	var matrix:Matrix = displayObject.transform.matrix;

	trace(matrix.toString());//(a=1, b=0, c=0, d=1, tx=60.55, ty=207.5)
	//[ a  c  tx ]   =&gt;   [ 1  0  60.55 ]
	//| b  d  ty |   =&gt;   | 0  1  207.5 |
	//[ 0  0   1 ]   =&gt;   [ 0  0   1    ]

	//مشخص کردن محل مرکز به صورت پویا
	var pointX:Number = displayObject.width / 2;
	var pointY:Number = displayObject.height / 2;

	//شعاع دایره مشخص کننده مرکز
	var pointRadius:Number = 5;

	var dspWidthDivide:Point = new Point(pointX,pointY);
	matrix.transformPoint(dspWidthDivide);

	if (visiblePoint)
	{

		//ایجاد دایره مربوطه به نمایش مرکز
		var point:MovieClip = new MovieClip();
		point.graphics.beginFill(0x000000);
		point.graphics.drawCircle(0 , 0 , pointRadius);
		point.graphics.endFill();
		//مختصات دهی دایره با توجه به مرکز تعیین شده;
		point.x = pointX - (pointRadius / 2);
		point.y = pointY - (pointRadius / 2);
		//افزودن دایره به شی مربوطه
		displayObject.addChild(point);
	}

	if (matrix.a &gt; 0)
	{
		matrix.a = -1 * matrix.a;
		matrix.tx = displayObject.width + displayObject.x;
	}
	else
	{
		matrix.a = -1 * matrix.a;
		matrix.tx = displayObject.x - displayObject.width;
	}

	//اعمال ماتریکس جدید به شی مربوطه
	displayObject.transform.matrix = matrix;
}

//usuage
flipHorizontal(myMC1);
myMC1.rotation = 15;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال ما برای چرخش افقی از ترکیب ماتریس دَوران و انعکاس استفاده می کنیم ، ابتدا مقدار مربوطه به ماتریس شی را گرفته (displayObject.<strong>transform.matrix</strong>) و در یک متغیر قرار می دهیم و حال می توانید همان طور که در بالا گفته شد به مقدارهای مربوطه به این شی دسترسی داشته باشیم و آنها را تغییر دهیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد در کد زیر ماتریس دریافت شده را trace می کنیم تا از دریافت درست داده ها اطمینان حاصل کنیم. در کد برای درک بیشتر به صورت ماتریس هم توضیح داده شده است.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در کد زیر در مرحله بعد دو متغیر برای مشخص کردن وسط شی با تقسیم عرض و طول شی بر ۲ ایجاد می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد شعاع مربوطه به دایره مجازی که مشخص کننده مرکز چرخش هست را مشخص می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">سپس متغیر dspWidthDivide را که یک point است را ایجاد می کنیم و مقدارهای دو متغییر pointX و pointY را به عنوان آرگمان های آن وارد می کنیم ، حال می توانیم توسط این متغیر و متد matrix.<strong>transforPoint</strong> مرکز چرخش را به مختصات مورد نظرمان به صورت پویا تغییر دهیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در بخش بعدی کد ،اقدام به ایجاد شی دایره برای مرکز و مختصات دهی آن می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعدی که <strong>مرحله اصلی</strong> می باشد ابتدا مقدار <strong>a</strong> شی خود را چک می کنیم در صورتی که بزرگتر از صفر باشد <strong>tx</strong> را برابر با <strong>عرض شی به اضافه مختصات x شی می کنیم</strong> و در غیر این صورت <strong>مختصات x شی را منهای عرض شی می کنیم</strong> و در هر دو حالت a<strong> را برابر با a*-1</strong> مقدار دهی می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در آخر نیز به خصوصیت <strong>transform.matrix</strong> شی <strong>displayObject</strong> مان مقدار جدید متغیر matrix را اعمال می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در پایان نیز برنامه را تست می کنیم ، myMC1 یک MovieClip هست که توسط تابع برای ایجاد چرخش افقی در آن انتخاب شده است و در آخر نیز برای متوجه شدن چرخش و مبنای چرخش توسط متد rotation چرخشی در شی ایجاد شده است تا با توجه به دایره مشکی متوجه چرخش بر مبنای مرکز چرخش شوید.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%a7%db%8c%d8%ac%d8%a7%d8%af-%da%86%d8%b1%d8%ae%d8%b4-%d8%a7%d9%81%d9%82%db%8c-%d8%a8%d8%a7-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-matrix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ذخیره محتویات MovieClip به صورت عکس</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%d9%85%d8%ad%d8%aa%d9%88%db%8c%d8%a7%d8%aa-movieclip-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-%d8%b9%da%a9%d8%b3/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%d9%85%d8%ad%d8%aa%d9%88%db%8c%d8%a7%d8%aa-movieclip-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-%d8%b9%da%a9%d8%b3/#comments</comments>
		<pubDate>Sat, 29 Oct 2011 01:05:55 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[BitmapData]]></category>
		<category><![CDATA[catch]]></category>
		<category><![CDATA[corelib.swc]]></category>
		<category><![CDATA[File]]></category>
		<category><![CDATA[FileMode.WRITE]]></category>
		<category><![CDATA[FileStream]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[JPEG]]></category>
		<category><![CDATA[JPGEncoder]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[MovieClip to JPEG]]></category>
		<category><![CDATA[resolvePath]]></category>
		<category><![CDATA[stream.close]]></category>
		<category><![CDATA[swc]]></category>
		<category><![CDATA[trace]]></category>
		<category><![CDATA[try]]></category>
		<category><![CDATA[writeBytes]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[بایت]]></category>
		<category><![CDATA[ذخیره تصویر]]></category>
		<category><![CDATA[ر]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1457</guid>
		<description><![CDATA[در این مطلب نحوه ذخیره محتویات یک MovieClip به صورت عکس با فرمت JPEG در Air آموزش داده می‌شود. برای این کار با استفاده از  کلاسه Adobe Encoder یک ByteArray از محتویات MovieClip می‌سازیم و در ادامه این ByteArray را با فرمت JPEG ذخیره می‌کنیم. دانلود کلاس های مورد نیاز : corelib.zip 1- برای شروع [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/10/movieclip_to_jpeg_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب نحوه ذخیره محتویات یک MovieClip به صورت عکس با فرمت JPEG در Air آموزش داده می‌شود. برای این کار با استفاده از  کلاسه Adobe Encoder یک ByteArray از محتویات MovieClip می‌سازیم و در ادامه این ByteArray را با فرمت JPEG ذخیره می‌کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1457"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود کلاس های مورد نیاز : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/corelib.zip">corelib.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">1- برای شروع فایل <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/corelib.zip">corelib.zip</a> را دانلود کرده و آن را Extract کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲- برنامه Flash را اجرا کنید و یک پروژه جدید از نوع Air بسازید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۳- از منوی File گزینه ActionScript Settings را انتخاب کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۴- از پنل Library path روی دکمه Add New Path کلیک کنید سپس روی دکمه Browse to SWC file کلیک کنید و فایل corelib.swc را انتخاب کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1458" title="corlib_class_import_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/corlib_class_import_iflashlord.jpg" alt="" width="419" height="179" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۵- روی دکمه OK کلیک کنید تا پنجره ActionScript Settings بسته شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۶- روی فریم اول کلیک کنید و پنل Actions را باز کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۷- کلاسه‌های مورد نیاز را Import کنید.</p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.BitmapData;
import com.adobe.images.JPGEncoder;
import flash.filesystem.File;
import flash.filesystem.FileMode;
import flash.filesystem.FileStream;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">8- یک متغیر از نوع BitmapData ایجاد کنید و طول و عرض آن را به اندازه MovieClip در نظر بگیرید و با دستور Draw محتویات MovieClip را به BitmapData منتقل کنید. (به جای my_mc نام MovieClip خود را وارد نمایید)</p>
<pre class="brush: as3; title: ; notranslate">
var bd:BitmapData = new BitmapData(my_mc.width, my_mc.height);
bd.draw(my_mc);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">9- یک متغیر جدید از نوع JPGEncoder ایجاد کنید. (عدد داخل پرانتز کیفیت فایل خروجی را مشخص می‌کند و ماکزیمم آن ۱۰۰ می‌باشد)، در ادامه یک متغیر ByteArray هم بسازید.</p>
<pre class="brush: as3; title: ; notranslate">
var jpgEncoder:JPGEncoder = new JPGEncoder( 100 );
var byteArray:ByteArray = jpgEncoder.encode( bd );
</pre>
<ul>
<li>به وسیله متغیرJPGEncoder محتویات BitmapData به فرمت JPEG تبدیل می‌شود و سپس در متغیر ByteArray قرار می‌گیرد.</li>
</ul>
<pre class="brush: as3; title: ; notranslate">
var file:File = new File();
file = file.resolvePath(&quot;c:/test.jpg&quot;);
var stream:FileStream = new FileStream();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">11- به وسیله کدهای زیر مراحل ذخیره سازی را به اتمام برسانید. در این کدها ابتدا File به صورت FileMode.WRITE در پروژه جاری می‌شود سپس به وسیله دستور writeBytes اطلاعات تبدیل شده ByteArray ذخیره می‌شود. دستور try و catch هم به منظور نمایش خطاهای احتمالی به کار گرفته شده است.</p>
<pre class="brush: as3; title: ; notranslate">
try
{
	stream.open( file , FileMode.WRITE);
	stream.writeBytes(byteArray);
	stream.close();
}
catch (e:Error)
{
	trace(&quot;Error: &quot; + e.message);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%d9%85%d8%ad%d8%aa%d9%88%db%8c%d8%a7%d8%aa-movieclip-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-%d8%b9%da%a9%d8%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>برقراری ارتباط بین Air و Web Service</title>
		<link>http://blog.iflashlord.com/1390/07/%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1%db%8c-%d8%a7%d8%b1%d8%aa%d8%a8%d8%a7%d8%b7-%d8%a8%db%8c%d9%86-air-%d9%88-web-service/</link>
		<comments>http://blog.iflashlord.com/1390/07/%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1%db%8c-%d8%a7%d8%b1%d8%aa%d8%a8%d8%a7%d8%b7-%d8%a8%db%8c%d9%86-air-%d9%88-web-service/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 02:28:13 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash Builder]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Browse]]></category>
		<category><![CDATA[BuildServiceRequest]]></category>
		<category><![CDATA[CelsiusToFahrenheit]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Drag]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[LoadEvent]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[RESULT]]></category>
		<category><![CDATA[ResultEvent]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[Settings]]></category>
		<category><![CDATA[SetupWebService]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[Web Service]]></category>
		<category><![CDATA[WebService]]></category>
		<category><![CDATA[WSDL]]></category>
		<category><![CDATA[اتصال به وب سرویس]]></category>
		<category><![CDATA[ارسال و دریافت اطلاعات]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[ایر]]></category>
		<category><![CDATA[دبلیو اس دی ال]]></category>
		<category><![CDATA[سلسیوس]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1379</guid>
		<description><![CDATA[در این مطلب نحوه اتصال به یک Web Service و دریافت اطلاعات آن توسط برنامه Air آموزش داده می‌شود. برای این کار از کلاسه‌های Flex در پروژه Flash استفاده خواهد شد. برای مثال در این درس درجه حرارت سلسیوس را به کمک Web Service به درجه فارنهایت تبدیل می‌کنیم. دانلود سورس : source.zip 1- برنامه [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/10/wsdl_air_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب نحوه اتصال به یک Web Service و دریافت اطلاعات آن توسط برنامه Air آموزش داده می‌شود. برای این کار از کلاسه‌های Flex در پروژه Flash استفاده خواهد شد. برای مثال در این درس درجه حرارت سلسیوس را به کمک Web Service به درجه فارنهایت تبدیل می‌کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1379"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a href="http://blog.iflashlord.com/wp-content/uploads/2011/10/webAir_source.zip">source.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">1- برنامه Flash را اجرا کنید و یک پروژه از نوع Air بسازید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲- از منوی File گزینه ActionScript Settings را انتخاب کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۳- وارد بخش Library Path شوید و روی دکمه Browse To Path کلیک کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1384" title="web1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web1_iflashlord.jpg" alt="" width="446" height="400" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۴- حالا پوشه libs را با توجه به آدرس و نسخه نصب شده برنامه Adobe Flash Builder انتخاب کنید. برای مثال:</p>
<pre class="brush: plain; title: ; notranslate">
(Install Path:)\Adobe\Adobe Flash Builder 4\sdks\4.0.0\frameworks\libs
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">5- بعد از انتخاب این آدرس در پایین پنجره ActionScript Settings وضعیت Default linkage را روی Merged into code قرار دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1385" title="web2_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web2_iflashlord.jpg" alt="" width="446" height="400" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۶- روی OK کلیک کنید تا کلاسه Flex در پروژه تعریف شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۷- حالا از پنل Components و با استفاده از شاخه User Interface یک Button، دو Text Input و دو Label به داخل صفحه Drag کنید و یک فرم شبیه فرم زیر بسازید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1386" title="web3_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web3_iflashlord.jpg" alt="" width="175" height="95" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۸- در ادامه تنظیمات این Component‌ها را به صورت زیر تغییر دهید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1387" title="web5_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web5_iflashlord.jpg" alt="" width="475" height="196" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1388" title="web6_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/web6_iflashlord.jpg" alt="" width="287" height="236" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۹- حالا روی فریم اول کلیک کنید و پنل Actions را باز کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۱۰- در ابتدا لازمه که کلاسه‌های مورد نیاز را Import کنید.</p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.MovieClip;
import flash.events.MouseEvent;
import mx.rpc.soap.*;
import mx.rpc.events.*;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">11- حالا یک متغیر WebService ایجاد می‌کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
var webService:WebService;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">12- در این آموزش بعد از کلیک روی دکمه convert اطلاعات فیلد متنی درجه سلسیوس به Web Service فرستاده می‌شود و سپس اطلاعات دریافتی از Web Service در فیلد متنی درجه فارنهایت نشان داده می‌شود. پس یک Event Listener برای دکمه تعریف می‌کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
startButton.addEventListener(MouseEvent.CLICK, SetupWebService);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">13- برای ادامه باید تابع SetupWebService را تعریف کنیم که بعد از کلیک روی دکمه convert فراخوانی می‌شود.</p>
<pre class="brush: as3; title: ; notranslate">
function SetupWebService(event:MouseEvent):void
{
	webService = new WebService();
	webService.loadWSDL(&quot;http://www.w3schools.com/webservices/tempconvert.asmx?WSDL&quot;);
	webService.addEventListener(LoadEvent.LOAD, BuildServiceRequest);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در این تابع:</strong></p>
<ul>
<li>لینک http://www.w3schools.com/webservices/tempconvert.asmx فراخوانی می‌شود. به جای این آدرس می‌توانید از هر آدرس دیگری استفاده کنید. دستور ?WSDL این آدرس را به صورت XML تعریف می‌کند تا در Flash قابل استفاده باشد.</li>
<li>بعد از Load شدن محتویات لینک با تعریف یک Event Listener برای webService تابع BuildServiceRequest فراخوانی می‌شود.</li>
</ul>
<pre class="brush: as3; title: ; notranslate">
function BuildServiceRequest(evt:LoadEvent)
{
	webService.CelsiusToFahrenheit(c.text);
	webService.CelsiusToFahrenheit.addEventListener(ResultEvent .RESULT, onResult);
	webService.CelsiusToFahrenheit.addEventListener(FaultEvent. FAULT, onFault);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در این تابع:</strong></p>
<ul>
<li>اطلاعات فیلد متنی سلسیوس (c.text) به اپراتور CelsiusToFahrenheit که در لینک Web Service قابل مشاهده است، فرستاده می‌شود.</li>
<li>دو Event Listener برای webService تعریف شده است که اولی بعد از کامل شدن عملیات و دومی‌درصورت بروز خطا فراخوانی می‌شوند.</li>
</ul>
<pre class="brush: as3; title: ; notranslate">
function onResult(event:ResultEvent)
{
	f.text = String(event.result);
}

function onFault(event:FaultEvent)
{
	trace(&quot;error&quot;);
	trace(event.fault.getStackTrace());
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در تابع onResult:</strong></p>
<ul>
<li>اطلاعات دریافتی از Web Service در فیلد متنی فارنهایت نمایش داده می‌شود.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در تابع onFault:</strong></p>
<ul>
<li>خطای به وجود آمده در فرایند ارسال و دریافت اطلاعات نمایش داده می‌شود.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/07/%d8%a8%d8%b1%d9%82%d8%b1%d8%a7%d8%b1%db%8c-%d8%a7%d8%b1%d8%aa%d8%a8%d8%a7%d8%b7-%d8%a8%db%8c%d9%86-air-%d9%88-web-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>پرینت گرفتن از یک MovieClip</title>
		<link>http://blog.iflashlord.com/1390/07/%d9%be%d8%b1%db%8c%d9%86%d8%aa-%da%af%d8%b1%d9%81%d8%aa%d9%86-%d8%a7%d8%b2-%db%8c%da%a9-movieclip/</link>
		<comments>http://blog.iflashlord.com/1390/07/%d9%be%d8%b1%db%8c%d9%86%d8%aa-%da%af%d8%b1%d9%81%d8%aa%d9%86-%d8%a7%d8%b2-%db%8c%da%a9-movieclip/#comments</comments>
		<pubDate>Fri, 21 Oct 2011 01:19:39 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Math.ceil]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[printing]]></category>
		<category><![CDATA[printJob]]></category>
		<category><![CDATA[printJob.addPage]]></category>
		<category><![CDATA[printJob.pageHeight]]></category>
		<category><![CDATA[printJob.pageWidth]]></category>
		<category><![CDATA[printJob.send]]></category>
		<category><![CDATA[Rectangle]]></category>
		<category><![CDATA[scaleX]]></category>
		<category><![CDATA[scaleY]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[پرینت]]></category>
		<category><![CDATA[پرینت کردن مووی کلیپ]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1371</guid>
		<description><![CDATA[در این مطلب با نحوه پرینت گرفتن از یک MovieClip آشنا می‌شوید. برای این کار از کلاسه PrintJob استفاده می‌شود و مطابق با عرض صفحه کاغذ، اندازه MovieClip تغییر می‌کند. ۱- ابتدا باید کلاسه‌های مورد نیاز import شوند. ۲- حالا تابع printMovieClip را به صورت زیر تعریف کنید: در این تابع: ابتدا متغیرهای لازم برای صفحه بندی [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/10/printjob_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="text-align: justify;"><span style="color: #333333;">در این مطلب با نحوه پرینت گرفتن از یک MovieClip آشنا می‌شوید. برای این کار از کلاسه PrintJob استفاده می‌شود و مطابق با عرض صفحه کاغذ، اندازه MovieClip تغییر می‌کند.</span></p>
<p style="text-align: justify;"><span id="more-1371"></span></p>
<p style="text-align: justify;"><span style="color: #333333;">۱- ابتدا باید کلاسه‌های مورد نیاز import شوند.</span></p>
<pre class="brush: as3; title: ; notranslate">
import flash.printing.PrintJob;
import flash.geom.Rectangle;
</pre>
<p style="text-align: justify;"><span style="color: #333333;">2- حالا تابع printMovieClip را به صورت زیر تعریف کنید:</span></p>
<pre class="brush: as3; title: ; notranslate">
function printMovieClip(clip:MovieClip)
{
	var printJob:PrintJob = new PrintJob();
	var numPages:int = 0;
	var printArea:Rectangle;
	var printHeight:Number;
	var printY:int = 0;
	if (printJob.start())
	{
		/* تغییر سایت مووی کلیپ برای فیت شدن در عرض صفحه */
		if (clip.width &gt; printJob.pageWidth)
		{
			clip.width = printJob.pageWidth;
			clip.scaleY = clip.scaleX;
		}
		/*  با توجه به طول و عرض صفحه و کشیدگی ایجاد شده برای فیت شدن  printArea   تعریف  */
		printArea = new Rectangle(0,0,printJob.pageWidth / clip.scaleX,printJob.pageHeight / clip.scaleY);
		/* محاسبه تعداد صفحات مورد نیاز با توجه به طول مووی کلیپ */
		numPages = Math.ceil(clip.height / printJob.pageHeight);

		/* print job افزودن صفحه ها به */
		for (var i:int = 0; i &lt; numPages; i++)
		{
			printJob.addPage(clip, printArea);
			printArea.y +=  printArea.height;
		}
		/* به پرینتر print job ارسال  */
		printJob.send();
		/* از حافظه print job حذف   */
		printJob = null;
	}
}
</pre>
<p style="text-align: justify;"><span style="color: #333333;">در این تابع:</span></p>
<ul>
<li style="text-align: justify;"><span style="color: #333333;">ابتدا متغیرهای لازم برای صفحه بندی و چاپ MovieClip ایجاد شده است.</span></li>
<li style="text-align: justify;"><span style="color: #333333;">سپس با دستور printJob.start عملیات ارسال صفحات به متغیر printJob آغاز می‌شود.</span></li>
<li style="text-align: justify;"><span style="color: #333333;">درصورتی که عرض MovieClip از عرض صفحه کاغذ بزرگتر باشد، عرض MovieClip به اندازه عرض کاغذ در آمده و ارتفاع MovieClip به نسبت عرض کوچک می‌شود تا MovieClip کاملا در کاغذ قرار گیرد.</span></li>
<li style="text-align: justify;"><span style="color: #333333;">سپس ناحیه ای از MovieClip که باید چاپ شود، تعیین می‌شود. این ناحیه فضایی است که در یک صفحه کاغذ جا می‌شود.</span></li>
<li style="text-align: justify;"><span style="color: #333333;">در ادامه با توجه به ارتفاع تبدیل شده MovieClip تعداد صفحات مورد نیاز در متغیر numPages قرار می‌گیرد.</span></li>
<li style="text-align: justify;"><span style="color: #333333;">به کمک یک حلقه for و با دستور printJob.addPage صفحات برای چاپ شدن به متغیر printJob اضافه می‌شود و در هر بار ناحیه مورد نیاز برای چاپ با تغییر ارتفاع printArea، تغییر می‌کند.</span></li>
<li style="text-align: justify;"><span style="color: #333333;">در ادامه با دستور printJob.send اطلاعات به پرینتر ارسال می‌شود و در نهایت متغیر printJob از حافظه پاک می‌شود.</span></li>
</ul>
<p style="text-align: justify;"><span style="color: #333333;">برای استفاده از این تابع فقط کافیست آن را فراخوانی کنید و نام MovieClip مورد نظر را به آن نسبت دهید.</span></p>
<pre class="brush: as3; title: ; notranslate">
printMovieClip(my_mc);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><a href="http://flashcenter.ir/?p=420" target="_blank">+ منبع</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/07/%d9%be%d8%b1%db%8c%d9%86%d8%aa-%da%af%d8%b1%d9%81%d8%aa%d9%86-%d8%a7%d8%b2-%db%8c%da%a9-movieclip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>چیدمان حلزونی با استفاده از مختصات قطبی</title>
		<link>http://blog.iflashlord.com/1390/07/%da%86%db%8c%d8%af%d9%85%d8%a7%d9%86-%d8%ad%d9%84%d8%b2%d9%88%d9%86%db%8c-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d9%85%d8%ae%d8%aa%d8%b5%d8%a7%d8%aa-%d9%82%d8%b7%d8%a8%db%8c/</link>
		<comments>http://blog.iflashlord.com/1390/07/%da%86%db%8c%d8%af%d9%85%d8%a7%d9%86-%d8%ad%d9%84%d8%b2%d9%88%d9%86%db%8c-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d9%85%d8%ae%d8%aa%d8%b5%d8%a7%d8%aa-%d9%82%d8%b7%d8%a8%db%8c/#comments</comments>
		<pubDate>Wed, 19 Oct 2011 01:34:40 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[Action Script 3.0]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[Math.cos]]></category>
		<category><![CDATA[Math.PI]]></category>
		<category><![CDATA[Math.sin]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[radius]]></category>
		<category><![CDATA[scaleX]]></category>
		<category><![CDATA[scaleY]]></category>
		<category><![CDATA[stage]]></category>
		<category><![CDATA[آرایش حلزونی]]></category>
		<category><![CDATA[اکشن 3]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[تبدیل مختصات قطبی به کارتزین]]></category>
		<category><![CDATA[فلش]]></category>
		<category><![CDATA[مختصات قطبی]]></category>
		<category><![CDATA[مختصات کارتزین]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1351</guid>
		<description><![CDATA[هرگاه نیاز به چیدمان‌های دوار و کنترل شکل‌های دایره ای باشد، بهتر است که از مختصات قطبی استفاده شود. با توجه به این که فلش از مختصات کارتزین استفاده می‌کند، باید مختصات قطبی را به مختصات کارتزین تبدیل کرد. در این درس نحوه استفاده از این تبدیل برای دستیابی به آرایش حلزونی MovieClip‌ها آموزش داده [...]]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2011/10/chideman_halezoni_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">هرگاه نیاز به چیدمان‌های دوار و کنترل شکل‌های دایره ای باشد، بهتر است که از مختصات قطبی استفاده شود. با توجه به این که فلش از مختصات کارتزین استفاده می‌کند، باید مختصات قطبی را به مختصات کارتزین تبدیل کرد. در این درس نحوه استفاده از این تبدیل برای دستیابی به آرایش حلزونی MovieClip‌ها آموزش داده می‌شود که یک نمونه از آن در شکل۱ آمده است.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1351"></span></p>
<blockquote>
<p style="text-align: right;">دانلود سورس : <a title="source_pole_to_2d" href="http://blog.iflashlord.com/wp-content/uploads/2011/10/source_pole_to_2d.zip">source_pole_to_2d</a></p>
</blockquote>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1355" title="halezoni_as3_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/halezoni_as3_iflashlord.jpg" alt="" width="300" height="244" /></p>
<p style="text-align: center;">شکل ۱- آرایش حلزونی MovieClip‌ها</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در شکل ۲ محورهای مختصات کارتزین و قطبی و نحوه تبدیل آن‌ها آمده است.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-1356" title="mehvarha_as3_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/mehvarha_as3_iflashlord.jpg" alt="" width="300" height="244" /></p>
<p style="text-align: center;">شکل ۲- نحوه تبدیل مختصات قطبی به کارتزین</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">مراحل کار به شرح زیر می‌باشد:</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۱- یک پروژه جدید Action Script 3.0 ایجاد کنید و برای مثال اندازه آن را ۸۰۰ در ۶۰۰ پیکسل در نظر بگیرید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲- در این درس بعنوان مثال ۶۰ MovieClip ایجاد شده است و به ترتیب از mc1 تا mc60 نامگذاری شده اند. توجه کنید که نقطه مبدا این MovieClip‌ها باید در گوشه چپ و وسط باشد (به فایل sample.zip توجه کنید).</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۳- پنل Actions را باز کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۴- کلاسه MovieClip را Import کنید.</p>
<pre class="brush: as3; title: ; notranslate">
var holder:MovieClip = new MovieClip();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">5- حالا یک آرایه از MovieClip‌ها بسازید.</p>
<pre class="brush: as3; title: ; notranslate">
var fields:Array = [mc1, mc2, mc3, mc4, mc5, mc6, mc7, mc8, mc9, mc10, mc11, mc12, mc13, mc14, mc15, mc16, mc17, mc18, mc19, mc20, mc21, mc22, mc23, mc24, mc25, mc26, mc27, mc28, mc29, mc30, mc31, mc32, mc33, mc34, mc35, mc36, mc37, mc38, mc39, mc40, mc41, mc42, mc43, mc44, mc45, mc46, mc47, mc48, mc49, mc50, mc51, mc52, mc53, mc54, mc55, mc56, mc57, mc58, mc59, mc60];
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">6- در ادامه سه متغیر یرای شعاع، زاویه و محور سوم (در مختصات استوانه ای) ایجاد می‌شود. در این مثال از متغیر scaleX , scaleY برای محور سوم استفاده می‌شود. مقادیر اولیه برای این ۳ متغیر را تعیین کنید.</p>
<pre class="brush: as3; title: ; notranslate">
var radius:Number = 150;
var theta:Number = 0;
var scale:Number = 1;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">7- یک متغیر از نوع MovieClip بعنوان حامل ایجاد کنید.</p>
<pre class="brush: as3; title: ; notranslate">
var holder:MovieClip = new MovieClip();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">8- سپس به وسیله یک حلقه، MovieClip‌ها در حامل چیده می‌شود.</p>
<pre class="brush: as3; title: ; notranslate">
for (var i:Number = 0; i &lt; fields.length; i++)
{
	var item_holder:MovieClip = MovieClip(fields[i]);
	var radian:Number = theta * Math.PI / 180;
	item_holder.x = radius * Math.cos(radian);
	item_holder.y = radius * Math.sin(radian);
	item_holder.rotation = theta;
	item_holder.scaleX = scale;
	item_holder.scaleY = scale;
	radius -=  2;
	theta +=  7;
	scale -=  0.01;
	holder.addChild(item_holder);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در این حلقه:</strong></p>
<ul>
<li>ابتدا item_holder بعنوان شاخص هر MovieClip تعریف شده است.</li>
<li>در خط دوم مقدار زاویه از درجه به رادیان تبدیل شده است.</li>
<li>سپس با توجه به شکل ۲ مقادیر شعاع و زاویه در مختصات قطبی به مقادیر x و y در مختصات کارتزین تبدیل شده است.</li>
<li>در ادامه اندازه هر MovieClip بعنوان محور سوم تعریف شده است.</li>
<li>در نهایت به منظور دستیابی به چیدمان حلزونی مقادیر شعاع، زاویه و اندازه تغییر کرده است تا MovieClip بعدی با مقادیر جدید چیده شود.</li>
<li>سپس MovieClip به حامل اضافه شده است.</li>
</ul>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۹- در آخر موقعیت حامل تعیین و به stage اضافه می‌شود.</p>
<pre class="brush: as3; title: ; notranslate">
holder.x = 350;
holder.y = 250;
addChild(holder);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/07/%da%86%db%8c%d8%af%d9%85%d8%a7%d9%86-%d8%ad%d9%84%d8%b2%d9%88%d9%86%db%8c-%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-%d9%85%d8%ae%d8%aa%d8%b5%d8%a7%d8%aa-%d9%82%d8%b7%d8%a8%db%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>فراخوانی تابع از فایل فلش بارگزاری شده</title>
		<link>http://blog.iflashlord.com/1390/07/%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%a7%d8%b2-%d9%81%d8%a7%db%8c%d9%84-%d9%81%d9%84%d8%b4-%d8%a8%d8%a7%d8%b1%da%af%d8%b2%d8%a7%d8%b1%db%8c-%d8%b4%d8%af%d9%87/</link>
		<comments>http://blog.iflashlord.com/1390/07/%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%a7%d8%b2-%d9%81%d8%a7%db%8c%d9%84-%d9%81%d9%84%d8%b4-%d8%a8%d8%a7%d8%b1%da%af%d8%b2%d8%a7%d8%b1%db%8c-%d8%b4%d8%af%d9%87/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 08:07:59 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[contentLoaderInfo]]></category>
		<category><![CDATA[currentTarget]]></category>
		<category><![CDATA[IOErrorEvent]]></category>
		<category><![CDATA[IO_ERROR]]></category>
		<category><![CDATA[Loader]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[فراخوانی تابع]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1299</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
	<img src="http://blog.iflashlord.com/wp-content/uploads/2010/02/actionscript_iflashlord.jpg" alt="iflashlord.com" />
	</p><pre class="brush: as3; title: ; notranslate">

//ساخت یک شی از نوع کلاس بارگزارنده
var my_Loader:Loader = new Loader();

//تعریف متغییری از نوع مووی کلیپ
var my_loadedSwf:MovieClip;

//با تعریف رویداد برای بارگزارنده زمان پایان بارگزاری فایل فلش خارجی (خارج از پروژه) خود را متوجه می شویم
my_Loader.contentLoaderInfo.addEventListener(Event.COMPLETE, finishLoading);

//توسط این خط رویداد های مربوطه به خطا ها را دریافت می کنیم
my_Loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);

//سپس توسط فرمان زیر فایل مورد نظر خودمان را در بارگزارنده بارگزاری می کنیم
my_Loader.load(new URLRequest(&quot;test.swf&quot;));

// به طور ما درون فایل مربوطه تابعی با نام
//testing()
// تعریف کرده ایم و برای دریافت آن محتوای بارگزاری شده را به یک متغییر انتقال می دهیم.

//تابع مربوطه به زمان بارگزاری کامل
function finishLoading(loadEvent:Event) {
my_loadedSwf = loadEvent.currentTarget.content;

addChild(my_loadedSwf);

//توسط خط زیر تابع درون فایل خارجی ما فراخوانی می شود
my_loadedSwf.testing();
}

// هندل کردن رویدادهای خطا
function errorHandler(errorEvent:Event):void {
trace(&quot;فایل یافت نشد!&quot;);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/07/%d9%81%d8%b1%d8%a7%d8%ae%d9%88%d8%a7%d9%86%db%8c-%d8%aa%d8%a7%d8%a8%d8%b9-%d8%a7%d8%b2-%d9%81%d8%a7%db%8c%d9%84-%d9%81%d9%84%d8%b4-%d8%a8%d8%a7%d8%b1%da%af%d8%b2%d8%a7%d8%b1%db%8c-%d8%b4%d8%af%d9%87/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (Feed is rejected)
Page Caching using disk: enhanced
Database Caching 1/33 queries in 0.206 seconds using disk: basic
Object Caching 5407/5582 objects using disk: basic

Served from: blog.iflashlord.com @ 2012-02-09 16:29:31 -->
