<?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; اکشن اسکریپت 3</title>
	<atom:link href="http://blog.iflashlord.com/tag/%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/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%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d8%b7%d9%88%d8%b7-%d8%a8%d8%a7-%d9%85%d9%88%d8%b3-%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%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d8%b7%d9%88%d8%b7-%d8%a8%d8%a7-%d9%85%d9%88%d8%b3-%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, 09 Jan 2012 23:15:08 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[beginFill]]></category>
		<category><![CDATA[DisplayObject]]></category>
		<category><![CDATA[draw]]></category>
		<category><![CDATA[drawRect]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[lineStyle]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[MOUSE_DOWN]]></category>
		<category><![CDATA[MOUSE_MOVE]]></category>
		<category><![CDATA[MOUSE_UP]]></category>
		<category><![CDATA[moveTo]]></category>
		<category><![CDATA[removeEventListener]]></category>
		<category><![CDATA[Sprite]]></category>
		<category><![CDATA[stage]]></category>
		<category><![CDATA[stageHeight]]></category>
		<category><![CDATA[stageWidth]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[رویداد]]></category>
		<category><![CDATA[طراحی]]></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=1830</guid>
		<description><![CDATA[در این مطلب به یک برنامه ساده در فلش می پردازیم که به راحتی با موس بتوانید خطوط مورد نظرتان را طراحی نمایید ، این مطلب به انجام این کار با استفاده از فلش و اکشن اسکریپت ۳ می پردازیم. دانلود سورس : draw_line_with_mouse_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/2012/01/draw_line_with_mouse_iflashlord.jpg" alt="iflashlord.com" />
	</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"><span id="more-1830"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a href="http://blog.iflashlord.com/wp-content/uploads/2012/01/draw_line_with_mouse_iflashlord.zip" target="_blank">draw_line_with_mouse_iflashlord.zip</a></p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ابتدا کلاس های مورد نیاز را وارد می کنیم (البته توجه داشته باشید این کار به صورت خودکار توسط نسخه های جدید فلش انجام می شود و دلیل ذکر این موارد برای اشاره به کلاس های مورد استفاده در مطلب آموزشی می باشد) </p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.MouseEvent;
import flash.display.Graphics;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد یک Sprite ایجاد می کنیم ، این DisplayObject مخزنی برای ذخیره محتوا طراحی شده توسط موس می باشد.</p>
<pre class="brush: as3; title: ; notranslate">
var _sprite:Sprite= new Sprite();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال این Sprite را addChild می کنیم و در ابتدا محیطی که می خواهیم در آن طراحی انجام شود را ایجاد می کنیم برای این کار از drawRect برای طراحی یک مستطیل استفاده می کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
_sprite.graphics.beginFill(0xF0F0F0);
_sprite.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
_sprite.graphics.endFill();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای این که این بخش مشخص باشد ما رنگ F0F0F0 را قرار دادیم شما می توانید هر کد رنگی که مورد نظرتان باشد را وارد نمایید. و در این مثال برای به دست آوردن طول و عرض صفحه استیج از stage.stageHeight و  stage.stageWidth استفاده شده است و برای مختصات شروع ایجاد طرح از ۰ و ۰ که مختصات x و y نقطه شروع می باشد استفاده شده است.<br />
در ضمن endFill برای پایان دادن به یک مقدار دهی مثلا رنگ به شی مستطیل تعریف شده ما می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می بایست رویدادهای مربوطه به فشردن کلیک چپ موس (MOUSE_DOWN) و رها کردن آن را (MOUSE_UP) تعریف می کنیم و به Sprite تعریف شده اعمال می کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
_sprite.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
_sprite.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال تابع مربوطه به فشرده شدن موس را تعریف می کنیم در این تابع ما توسط متد lineStyle از graphics مربوطه به شی نمایشی Sprite ابتدا قالب بندی خط را تعیین می کنیم ، و توسط متد moveTo مختصات اولیه را مختصات کنونی موس قرار می دهیم .<br />
حال زمان آن رسیده که رویدادی جدید تعریف کنیم تا در زمان حرکت موس تابع MouseMove را فراخوانی کند ، این تابع وظیفه کشیدن خط را بر عهده دارد.</p>
<pre class="brush: as3; title: ; notranslate">
function MouseDown(e:MouseEvent):void
{
_sprite.graphics.lineStyle(1, 0, 1);
_sprite.graphics.moveTo(mouseX, mouseY);
_sprite.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">تابع MouseMove با استفاده از متد lineTo در هر زمان که موس حرکت کند خطی به نقطه مختصات کنونی موس طراحی می کند. آرگمان اول lineTo مربوطه به مختصات x و آرگمان دوم مربوطه به مختصات y می باشد که در این مثال برای مقدار x از mouseX و y از mouseY که مقدارهای مربوطه به مختصات کنونی موس می باشند استفاده شده است .</p>
<pre class="brush: as3; title: ; notranslate">
function MouseMove(e:MouseEvent):void
{
_sprite.graphics.lineTo(mouseX, mouseY);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می بایست توسط رویدادی که برای رها کردن کلیک تعیین کردیم در زمان رها کردن کلیک رویداد مربوطه به طراحی در حال حرکت موس و در واقع فراخوانی MouseMove را حذف کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
function MouseUp(e:MouseEvent):void
{
_sprite.removeEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>سورس کد کامل برنامه به صورت یکجا :</strong></p>
<pre class="brush: as3; title: ; notranslate">
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.MouseEvent;
import flash.display.Graphics;

var _sprite:Sprite= new Sprite();
addChild(_sprite);
_sprite.graphics.beginFill(0xF0F0F0);
_sprite.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
_sprite.graphics.endFill();

_sprite.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
_sprite.addEventListener(MouseEvent.MOUSE_UP, MouseUp);

function MouseDown(e:MouseEvent):void
{
	_sprite.graphics.lineStyle(1, 0, 1);
	_sprite.graphics.moveTo(mouseX, mouseY);
	_sprite.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}

function MouseUp(e:MouseEvent):void
{
	_sprite.removeEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}
function MouseMove(e:MouseEvent):void
{
	_sprite.graphics.lineTo(mouseX, mouseY);
}
</pre>
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>و بهتر است کمی کدمان را (از نظر رویدادها) بهینه تر نیز کنیم :</strong></p>
<pre class="brush: as3; highlight: [12,13,19]; title: ; notranslate">
import flash.display.Sprite;
import flash.display.Stage;
import flash.events.MouseEvent;
import flash.display.Graphics;

var _sprite:Sprite= new Sprite();
addChild(_sprite);
_sprite.graphics.beginFill(0xF0F0F0);
_sprite.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
_sprite.graphics.endFill();

_sprite.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown , false , 0 , true);
_sprite.addEventListener(MouseEvent.MOUSE_UP, MouseUp , false , 0 , true);

function MouseDown(e:MouseEvent):void
{
	_sprite.graphics.lineStyle(1, 0, 1);
	_sprite.graphics.moveTo(mouseX, mouseY);
	_sprite.addEventListener(MouseEvent.MOUSE_MOVE, MouseMove , false , 0 , true);
}

function MouseUp(e:MouseEvent):void
{
	_sprite.removeEventListener(MouseEvent.MOUSE_MOVE, MouseMove);
}
function MouseMove(e:MouseEvent):void
{
	_sprite.graphics.lineTo(mouseX, mouseY);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می تونیم برنامه رو تست کنیم ، با فشردن کلیک چپ و حرکت موس می توانید خطوط مورد نظر خودتان را طراحی کنید.</p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a href="http://blog.iflashlord.com/wp-content/uploads/2012/01/draw_line_with_mouse_iflashlord.zip" target="_blank">draw_line_with_mouse_iflashlord.zip</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/10/%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%ae%d8%b7%d9%88%d8%b7-%d8%a8%d8%a7-%d9%85%d9%88%d8%b3-%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>13</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>اعمال StyleSheet داخلی به فیلد متنی</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-stylesheet-%d8%af%d8%a7%d8%ae%d9%84%db%8c-%d8%a8%d9%87-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-stylesheet-%d8%af%d8%a7%d8%ae%d9%84%db%8c-%d8%a8%d9%87-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 23:10:10 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[سی اس اس]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css.setStyle]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Import]]></category>
		<category><![CDATA[INTERNAL]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[setStyle]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[StyleSheet]]></category>
		<category><![CDATA[text]]></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=1629</guid>
		<description><![CDATA[در این مطلب به ساخت StyleSheet داخلی (INTERNAL) در اکشن اسکریپت ۳ می پردازیم ، این موارد برای زمانی که شما نیازی به فایل CSS خارجی نداشته باشید و بخواهید از فرامین قالب بندی CSS درون اکشن اسکریپت استفاده کنید، برای این کار از کلاس StyleSheet استفاده می کنیم. در ابتدا ما کلاس مورد نیاز [...]]]></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/css_external_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب به ساخت <a title="اعمال یک StyleSheet خارجی به فیلد متنی" href="http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-%db%8c%da%a9-stylesheet-%d8%ae%d8%a7%d8%b1%d8%ac%db%8c-%d8%a8%d9%87-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/">StyleSheet </a>داخلی (INTERNAL) در اکشن اسکریپت ۳ می پردازیم ، این موارد برای زمانی که شما نیازی به <a title="اعمال یک StyleSheet خارجی به فیلد متنی" href="http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-%db%8c%da%a9-stylesheet-%d8%ae%d8%a7%d8%b1%d8%ac%db%8c-%d8%a8%d9%87-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/">فایل CSS خارجی </a>نداشته باشید و بخواهید از فرامین قالب بندی CSS درون اکشن اسکریپت استفاده کنید، برای این کار از کلاس <a title="اعمال یک StyleSheet خارجی به فیلد متنی" href="http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-%db%8c%da%a9-stylesheet-%d8%ae%d8%a7%d8%b1%d8%ac%db%8c-%d8%a8%d9%87-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/">StyleSheet </a>استفاده می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1629"></span>در ابتدا ما کلاس مورد نیاز را import می کنیم</p>
<pre class="brush: as3; title: ; notranslate">
import flash.text.StyleSheet;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد متغییر css را تعریف می کنیم و نوع آن را StyleSheet قرار می دهیم و یک نمونه از کلاس StyleSheet را به عنوان مقدار آن قرار می دهیم.</p>
<pre class="brush: as3; title: ; notranslate">
var css:StyleSheet = new StyleSheet();
css.setStyle(&quot;p&quot;, {color: &quot;#FF0000&quot;});

example_txt.styleSheet = css;
example_txt.text = &quot;&lt;p&gt;iflashlord.com&lt;/p&gt; sample text!&quot;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">سپس با استفاده از متد <strong>setStyle</strong> فرامین مربوطه به <strong>css</strong> را مقدار دهی می کنیم ، در این مثال به تگ پاراگراف در <strong>HTML</strong> می باشد که با (<strong>p</strong>) مشخص می شود ، خصوصیت <strong>color</strong> که مربوطه به رنگ می باشد به آن نسبت داده شده است. توجه نمایید مقدارهای هر تگ یا کلاس یا شناسه در <strong>CSS</strong> به صورت یک <strong>Object</strong> به عنوان آرگمان دوم متد<strong> setStyle</strong> مقدار دهی می شود. آرگمان اول نیز به صورت رشته متنی (<strong>String</strong>) می باشد و مربوطه به نام تگ (به طور مثال <strong>p</strong>) نام کلاس (به طور مثال <strong dir="ltr">.test</strong> ) و نام شناسه (به طور مثال <strong dir="ltr">#test</strong> ) و&#8230; می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد متغیر <strong>css</strong> را به عنوان متد <strong>styleSheet</strong> مربوطه به تکست فیلد مقدار دهی می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و در مرحله آخر محتوای متنی <strong>HTML</strong> خود را به فیلد متنی نسبت می دهیم و نتیجه را مشاهده می کنیم ، طبق کد بالا می بایست متن <strong>iflashlord.com</strong> به صورت قرمز (<strong>FF0000</strong>) چاپ شود و باقی متون با رنگ پیش فرض تکست فیلد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">با کمک این کد می توانید قالب بندی مربوطه به بخش های مختلف را توسط کدهای اکشن اسکریپت و <strong>css</strong> با دستی بازتر انجام دهید.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%a7%d8%b9%d9%85%d8%a7%d9%84-stylesheet-%d8%af%d8%a7%d8%ae%d9%84%db%8c-%d8%a8%d9%87-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ساخت تابع getURL در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%b3%d8%a7%d8%ae%d8%aa-%d8%aa%d8%a7%d8%a8%d8%b9-geturl-%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%b3%d8%a7%d8%ae%d8%aa-%d8%aa%d8%a7%d8%a8%d8%b9-geturl-%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>Fri, 18 Nov 2011 06:54:14 +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[catch]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flash.net.navigateToURL]]></category>
		<category><![CDATA[flash.net.URLRequest]]></category>
		<category><![CDATA[getURL]]></category>
		<category><![CDATA[navigateToURL]]></category>
		<category><![CDATA[target]]></category>
		<category><![CDATA[try]]></category>
		<category><![CDATA[URI]]></category>
		<category><![CDATA[URL]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[آرگمان]]></category>
		<category><![CDATA[اکشن اسکریپت 2]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1638</guid>
		<description><![CDATA[اگر با اکشن اسکریپت ۲ کار کرده باشید حتما می دانید ،برای درخواست های بازکردن لینک ها و آدرس های وب و درخواست های وب از فرمان getURL استفاده می شود. البته این تابع به این شکل دیگر در اکشن اسکریپت ۳ پشتیبانی نمی شود. در این مطلب می خواهیم این تابع را با همان [...]]]></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/geturl_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">اگر با اکشن اسکریپت ۲ کار کرده باشید حتما می دانید ،برای درخواست های بازکردن لینک ها و آدرس های وب و درخواست های وب از فرمان getURL استفاده می شود. البته این تابع به این شکل دیگر در اکشن اسکریپت ۳ پشتیبانی نمی شود. در این مطلب می خواهیم این تابع را با همان نام قدیمی و آرگمان های قدیمی برای اکشن اسکریپت ۳ آماده کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1638"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ابتدا کلاس های مورد نیاز را import می کنیم</p>
<pre class="brush: as3; title: ; notranslate">
import flash.net.URLRequest;
import flash.net.navigateToURL;
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد ما تابعی با همان نام (getURL) تعریف می کنیم و آرگمان ها را نیز به همان صورت معرفی می کنیم ، آرگمان اول در getURL مربوطه به آدرس (URL) و آرگمان دوم target که به نوع باز شدن مربوطه می شد.</p>
<pre class="brush: as3; title: ; notranslate">
function getURL(url:String, target:String = null)
{
	try
	{
		navigateToURL(new URLRequest(url), target);
	}
	catch (error:Error)
	{
		trace(&quot;[getURL] &quot;+error);
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در نهایت بخش اصلی کد ما که آن را درون try می نویسیم تا بتوانیم خطای احتمالی آن را catch کنیم. در این بخش طبق استاندارد جدید اکشن اسکرپیت ۳ برای بازکردن لینک ها از کلاس های navigateToURL و URLRequest استفاده می کنیم. که نقش URLRequest مشخص کردن محتوای متنی به عنوان درخواست URL می باشد و نقش navigateToURL باز کردن پیوند (link) طبق آرگمان های ورودی می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می توانید با سرعت بیشتر و مثل تابع getURL درخواست های مربوطه به پیوند های خودتان را اجرا نمایید.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%b3%d8%a7%d8%ae%d8%aa-%d8%aa%d8%a7%d8%a8%d8%b9-geturl-%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>0</slash:comments>
		</item>
		<item>
		<title>Citrus Engine رایگان و اوپن سورس!</title>
		<link>http://blog.iflashlord.com/1390/08/citrus-engine-%d8%b1%d8%a7%db%8c%da%af%d8%a7%d9%86-%d9%88-%d8%a7%d9%88%d9%be%d9%86-%d8%b3%d9%88%d8%b1%d8%b3/</link>
		<comments>http://blog.iflashlord.com/1390/08/citrus-engine-%d8%b1%d8%a7%db%8c%da%af%d8%a7%d9%86-%d9%88-%d8%a7%d9%88%d9%be%d9%86-%d8%b3%d9%88%d8%b1%d8%b3/#comments</comments>
		<pubDate>Sun, 13 Nov 2011 01:19:52 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[عمومی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[box2d]]></category>
		<category><![CDATA[Citrus]]></category>
		<category><![CDATA[Citrus Engine]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[اوپن سورس]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[بازی]]></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=1618</guid>
		<description><![CDATA[Citrus Engine چست؟ یک موتور بازی سازی با درجه حرفه ای ، قابل گسترش ، و با کیفیت صنعتی برای ساخت بازی فلش می باشد ، این موتور بر اساس شیوه های مدرن برنامه نویسی فلش ساخته شده است و تمرکز آن در کمک به شما برای ساخت یک بازی بسیار جذاب می باشد. برای [...]]]></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/ce2_game_engine_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>Citrus Engine چست؟</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">یک موتور بازی سازی با درجه حرفه ای ، قابل گسترش ، و با کیفیت صنعتی برای ساخت بازی فلش می باشد ، این موتور بر اساس شیوه های مدرن برنامه نویسی فلش ساخته شده است و تمرکز آن در کمک به شما برای ساخت یک بازی بسیار جذاب می باشد. <a href="http://citrusengine.com/about" target="_blank">برای اطلاعات بیشتر به این صفحه مراجعه کنید</a>.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1618"></span></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">کاربرد اصلی این موتور برای ساخت بازی های پلاتفورمر می باشد ، برای هسته این موتور از زبان اکشن اسکریپت ۳ استفاده شده است که بخش تحلیل فیزیکی آن نیز توسط box2d کنترل می شود ، نمونه ای از این دست بازی ها را می توانید در <a href="http://citrusengine.com/" target="_blank">صفحه اول وب سایت Citrus Engine </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">نکته مهم در مورد استفاده از موتورهای بازی سازی ، نیاز داشتن به دانش کمتر در مورد بازی سازی و برنامه نویسی می باشد که می تواند گروه زیادی را وارد دنیای جذاب بازی سازی در فلش نماید..</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"><a href="http://citrusengine.com/" target="_blank">وب سایت رسمی <strong>Citrus Engine</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/citrus-engine-%d8%b1%d8%a7%db%8c%da%af%d8%a7%d9%86-%d9%88-%d8%a7%d9%88%d9%be%d9%86-%d8%b3%d9%88%d8%b1%d8%b3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>حذف http و www توسط اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%ad%d8%b0%d9%81-http-%d9%88-www-%d8%aa%d9%88%d8%b3%d8%b7-%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%ad%d8%b0%d9%81-http-%d9%88-www-%d8%aa%d9%88%d8%b3%d8%b7-%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>Fri, 11 Nov 2011 13:18:24 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Boolean]]></category>
		<category><![CDATA[false]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Function]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[RegExp]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[stripHttp]]></category>
		<category><![CDATA[stripWWW]]></category>
		<category><![CDATA[true]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[حذف http]]></category>
		<category><![CDATA[حذف www]]></category>
		<category><![CDATA[عبارات با قائده]]></category>
		<category><![CDATA[عبارات با قاعده]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1604</guid>
		<description><![CDATA[تابعی که ما در این مطلب اقدام به ساخت آن می کنیم ، یک محتوای متنی را دریافت می کند و تمامی http:// و https:// های موجود دار آن را حذف می کند و در صورتی که آرگمان دوم آن که stripWWW می باشد برابر با true قرار داده شود تمامی www ها را نیز [...]]]></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/strip_http_www_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">تابعی که ما در این مطلب اقدام به ساخت آن می کنیم ، یک محتوای متنی را دریافت می کند و تمامی http:// و https:// های موجود دار آن را حذف می کند و در صورتی که آرگمان دوم آن که stripWWW می باشد برابر با true قرار داده شود تمامی www ها را نیز حذف می کند ، به طور پیش فرض ما این آرگمان را در تابعی که کد آن در زیر قرار داده شده است false قرار داده ایم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1604"></span>برای بهتر متوجه شدن نتیجه این تابع به این مثال توجه کنید ، متن ورود ما که به عنوان آرگمان string در تابع تعریف شده است :</p>
<pre class="brush: plain; title: ; notranslate">
آخرین پروژه های اجرا شده را می توانید در http://www.iflashlord.com ببینید
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">متنی که بعد از استفاده این مقدار در تابع به عنوان آرگمان اول ، خروجی داده می شود به صورت زیر خواهد بود:</p>
<pre class="brush: plain; title: ; notranslate">
آخرین پروژه های اجرا شده را می توانید در www.iflashlord.com ببینید
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و در صورتی که آرگمان دوم true باشد :</p>
<pre class="brush: plain; title: ; notranslate">
آخرین پروژه های اجرا شده را می توانید در iflashlord.com ببینید
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>حال به کد تابع می پردازیم:</strong></p>
<pre class="brush: as3; title: ; notranslate">

function stripHttp(string:String, stripWWW:Boolean = false):String
{
	var s:String = string;
	var regexp:RegExp = new RegExp(! stripWWW ? &quot;https*:\/\/&quot;:&quot;https*:\/\/(www\.)*&quot;,&quot;ig&quot;);
	return s.replace(regexp, &quot;&quot;);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">بعد از تعریف تابع و آرگمان های آن ، یک متغییر برای ذخیره سازی کپی از متن ورودی در آن با نام s می سازیم ، سپس با کمک گرفتن از <a title="حذف فاصله های موجود در یک نوشته توسط اکشن اسکریپت ۳" href="http://blog.iflashlord.com/1388/11/%d8%ad%d8%b0%d9%81-%d9%81%d8%a7%d8%b5%d9%84%d9%87-%d9%87%d8%a7%db%8c-%d9%85%d9%88%d8%ac%d9%88%d8%af-%d8%af%d8%b1-%db%8c%da%a9-%d9%86%d9%88%d8%b4%d8%aa%d9%87-%d8%aa%d9%88%d8%b3%d8%b7-%d8%a7%da%a9%d8%b4/">عبارات با قائده </a>و تابع <a title="slugify کردن متن در اکشن اسکریپت ۳" href="http://blog.iflashlord.com/1390/08/slugify-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d8%aa%d9%86-%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/">RegExp </a>متغیر regexp را تعریف می کنیم ، این متغیر در واقع اشاره گری به تمامی http:// و https:// و www ها می باشد (در این مثال) و با استفاده از آن برای متد replace مربوطه به string ها و جا به جا کردن این مقادیر با مقدار &#8220;&#8221; که نشان گر مقدار پوچ می باشد ،این مقادیر را از رشته متنی خود حذف می کنیم</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در نهایت رشته متنی نهایی که محتوای بازگشتی s.<a title="حذف فاصله های موجود در یک نوشته توسط اکشن اسکریپت ۳" href="http://blog.iflashlord.com/1388/11/%d8%ad%d8%b0%d9%81-%d9%81%d8%a7%d8%b5%d9%84%d9%87-%d9%87%d8%a7%db%8c-%d9%85%d9%88%d8%ac%d9%88%d8%af-%d8%af%d8%b1-%db%8c%da%a9-%d9%86%d9%88%d8%b4%d8%aa%d9%87-%d8%aa%d9%88%d8%b3%d8%b7-%d8%a7%da%a9%d8%b4/">replace</a> می باشد را توسط return بازگشت می دهیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای استفاده از این تابع به شکل زیر اقدام می کنیم :</p>
<pre class="brush: as3; title: ; notranslate">

trace (stripHttp(&quot;آخرین پروژه های اجرا شده را می توانید در http://www.iflashlord.com ببینید&quot; , true));
//آخرین پروژه های اجرا شده را می توانید در iflashlord.com ببینید

trace (stripHttp(&quot;آخرین پروژه های اجرا شده را می توانید در http://www.iflashlord.com ببینید&quot; , false));
//آخرین پروژه های اجرا شده را می توانید در www.iflashlord.com ببینید
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%ad%d8%b0%d9%81-http-%d9%88-www-%d8%aa%d9%88%d8%b3%d8%b7-%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>0</slash:comments>
		</item>
		<item>
		<title>randomBoolean در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/08/randomboolean-%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/randomboolean-%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>Wed, 09 Nov 2011 01:10:32 +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[AS3]]></category>
		<category><![CDATA[Boolean]]></category>
		<category><![CDATA[false]]></category>
		<category><![CDATA[Math]]></category>
		<category><![CDATA[Math.random()]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[randomBoolean]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[true]]></category>
		<category><![CDATA[اتفاقی]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[تابع]]></category>
		<category><![CDATA[درست یا غلط رندوم]]></category>
		<category><![CDATA[رندوم]]></category>
		<category><![CDATA[رندوم بولین]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=1583</guid>
		<description><![CDATA[در این مطلب اقدام به ایجاد تابعی در اکشن اسکریپت ۳ می کنیم که بتوانم توسط آن به صورت اتفاقی true یا false را بازگشت دهیم. برای این کار ما ابتدا بعد از تعریف نام تابع که در این مثال randomBoolean هستند و بعد از () ها توسط علامت ( : ) نوع خروجی بازگشتی [...]]]></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/random_boolean_as3_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب اقدام به ایجاد تابعی در اکشن اسکریپت ۳ می کنیم که بتوانم توسط آن به صورت اتفاقی true یا false را بازگشت دهیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1583"></span>برای این کار ما ابتدا بعد از تعریف نام تابع که در این مثال randomBoolean هستند و بعد از () ها توسط علامت ( : ) نوع خروجی بازگشتی تابع را Boolean مشخص می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">سپس با کمک گرفتم از متد random مربوطه به کلاس Math و ایجاد شرط توسط علامت بزرگتر مساوی و استفاده از خروجی رندوم دریافت شده ، به مقدار true یا false اتفاقی برای بازگشت دادن دسترسی پیدا می کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em>حال به کد مربوطه توجه نمایید:</em></p>
<pre class="brush: as3; title: ; notranslate">
function randomBoolean():Boolean
{
	return Math.random() &gt;= 0.5;
}
//تست خروجی
trace(randomBoolean());
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این تابع وقتی Math.random() اجرا می شود یک عدد رندوم بین ۰ تا ۱ خروجی می دهد در صورتی که این عدد بزرگتر و یا مساوی ۰.۵ باشد برنامه true را return می کند و در غیر این صورت false را بازگشت می دهد.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/randomboolean-%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>0</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>دریافت کردن مرورگر و سیستم عامل کاربر توسط اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1390/08/%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d8%b1%d9%88%d8%b1%da%af%d8%b1-%d9%88-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-%d8%b9%d8%a7%d9%85%d9%84-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1/</link>
		<comments>http://blog.iflashlord.com/1390/08/%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d8%b1%d9%88%d8%b1%da%af%d8%b1-%d9%88-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-%d8%b9%d8%a7%d9%85%d9%84-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 01:14:51 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[ExtenalInterface]]></category>
		<category><![CDATA[externalinterface.call]]></category>
		<category><![CDATA[F12]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[getUserAgent]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[indexOf]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[MouseEvent.MOUSE_UP]]></category>
		<category><![CDATA[navigator]]></category>
		<category><![CDATA[Properties]]></category>
		<category><![CDATA[Publish]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[Shift+Ctlr+F12]]></category>
		<category><![CDATA[Sprite]]></category>
		<category><![CDATA[TextField]]></category>
		<category><![CDATA[transitions]]></category>
		<category><![CDATA[Tween]]></category>
		<category><![CDATA[User Agent]]></category>
		<category><![CDATA[userAgent]]></category>
		<category><![CDATA[window.navigator.userAgent.toString]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[جستجو]]></category>
		<category><![CDATA[دانلود]]></category>
		<category><![CDATA[درگ]]></category>
		<category><![CDATA[رابط کاربری]]></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=737</guid>
		<description><![CDATA[در این مطلب به چگونگی تشخیص نوع مرورگر اینترنتی و سیستم عامل کاربر توسط اکشن اسکریپت ۳ می پردازیم. دانلود سورس : external_interface_source_iflashlord ما در این مطلب با استفاده از TextField و با کمک گرفتم از کلاس ExtenalInterface اطلاعات مربوطه به کاربر را دریافت و خروجی swf فلش نمایش می دهیم. توسط دریافت مقدار userAgent [...]]]></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/user_agent_browser_os_iflashlord.jpg" alt="iflashlord.com" />
	</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"><span id="more-737"></span></p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a title="external_interface_source_iflashlord" href="http://blog.iflashlord.com/wp-content/uploads/2011/11/external_interface_source_iflashlord.zip">external_interface_source_iflashlord</a></p></blockquote>
<h2></h2>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ما در این مطلب با استفاده از TextField و با کمک گرفتم از کلاس ExtenalInterface اطلاعات مربوطه به کاربر را دریافت و خروجی swf فلش نمایش می دهیم. توسط دریافت مقدار userAgent مربوطه به navigator و کمی جستجو در محتوای متنی خروجی آن می توانیم به نام مرورگر اینترنتی مورد استفاده پی ببریم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای شروع یک سند فلش با سایز ۴۰۰ در ۲۰۰ پیکسل و فریم ریت ۲۴fps ایجاد می کنیم.</p>
<div>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1560" title="external_interface_new_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/external_interface_new_iflashlord.jpg" alt="" width="459" height="182" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در مرحله بعد به طراحی رابط کاربری پروژه می پردازیم در شکل زیر می توانید نمونه را مشاهده کنید.</p>
</div>
<div>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1561" title="external_interface_gui_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/external_interface_gui_iflashlord.jpg" alt="" width="400" height="240" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">این نمونه را می توانید در<a href="http://blog.iflashlord.com/wp-content/uploads/2011/11/external_interface_source_iflashlord.zip" target="_blank"> سورس پروژه </a>که در ابتدای مطلب لینک آموزش آن وجود دارد دریافت کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال یک کلاس اکشن اسکریپت ایجاد می کنیم برای این کار می توانید از کلید های ترکیبی Ctrl+N استفاده کنید و سپس پروژه را با نام Main.as در کنار فایل سورس فلش خود ذخیره کنید. و محتوای زیر را در آن قرار دهید.</p>
</div>
<pre class="brush: as3; title: ; notranslate">

package
{
	import flash.display.Sprite;
	import flash.external.ExternalInterface;
	import flash.events.MouseEvent;
	import fl.transitions.Tween;
	public class Main extends Sprite
	{
		private var userAgent:String;
		public function Main():void
		{
			more.addEventListener(MouseEvent.MOUSE_UP, showFull);
			browserTxt.text = getUserAgent();
			letterpress.text = getUserAgent();
		}

		private function getUserAgent():String
		{
			userAgent = ExternalInterface.call(&quot;window.navigator.userAgent.toString&quot;);

			var browser:String;
			if (userAgent.indexOf(&quot;Safari&quot;) != -1)
			{
				browser = &quot;Safari&quot;;
			}
			else if (userAgent.indexOf(&quot;Firefox&quot;) != -1)
			{
				browser = &quot;Firefox&quot;;
			}
			if (userAgent.indexOf(&quot;Chrome&quot;) != -1)
			{
				browser = &quot;Chrome&quot;;
			}
			return browser;
		}
		private function showFull(e:MouseEvent):void
		{
			info.fullInfo.text = userAgent;
			var tween:Tween = new Tween(info,&quot;y&quot;,null,info.y,180,0.5,true);
		}
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در کد بالا توسط ExternalInterface و متد call محتوای مربوطه به User Agent به صورت یک رشته متنی دریافت می شود و با استفاده از متد indexOf در آن جستجو می شود و در نتیجه نام مروگر دریافت می شود ؛ در این روش محتوای User Agent جستجو می شود اگر نام مرورگر هایی که در نظر گرفته ایم در محتوای بازگشتی وجود داشته باشد ،نام مرورگر در صفحه نمایش داده می شود. و توسط دکمه more که در پروژه قرار داده شده است نیز در بخش پایینی پروژه محتوای کلی مربوطه به User Agent در فیلد متنی info با انیمیتی که توسط Tween به آن اعمال می شود ،به نمایش گذاشته می شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">به یاد داشته باشید که نام class را در فیلد مربوطه به Class در بخش Publish مربوطه به پانل Properties وارد نمایید. در تصویر زیر بخش مربوطه نمایش داده شده است.</p>
<div>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1562" title="external_interface_main_class_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/11/external_interface_main_class_iflashlord.jpg" alt="" width="282" height="132" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال برای تست به صورت فایل swf شما با خطا رو به رو می شود ، شما می بایست فایل را در مرورگر اینترنتی به نمایش بگذارید تا امکان دریافت داده های User Agent وجود داشته باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای این کار می می توانید از کلید های میان بر  Shift+Ctlr+F12 استفاده کنید و بخش مربوطه به HTML را در صورت غیر فعال بودن تیک بزنید و توسط و توسط منوی File-&gt; Publish برای انتشار پروژه به صورت HTML اقدام نمایید در صورتی که می خواهید پروژه بعد از انتشار و تولید شدن بلافاصله در مرورگر پیش فرض نمایش داده شود از کلید F12 استفاده نمایید ،در ضمن می توانید فایل خود درگ کرده و درون مرورگر مورد نظر رها کنید تا عملکرد کد را مشاهده نمایید.</p>
</div>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">شما می توانید با استفاده از این اطلاعات با توجه به نوع مرورگر کاربر تغییرات احتمالی مورد نیاز را در پروژه خود که برای هر مرورگر و یا مرورگر خاصی نیاز دارید ، اعمال نمایید و برنامه ای پویا و هوشمند توسط فلش ایجاد نمایید.</p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">دانلود سورس : <a title="external_interface_source_iflashlord" href="http://blog.iflashlord.com/wp-content/uploads/2011/11/external_interface_source_iflashlord.zip">external_interface_source_iflashlord</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/08/%d8%af%d8%b1%db%8c%d8%a7%d9%81%d8%aa-%da%a9%d8%b1%d8%af%d9%86-%d9%85%d8%b1%d9%88%d8%b1%da%af%d8%b1-%d9%88-%d8%b3%db%8c%d8%b3%d8%aa%d9%85-%d8%b9%d8%a7%d9%85%d9%84-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1/feed/</wfw:commentRss>
		<slash:comments>0</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/23 queries in 0.107 seconds using disk: basic
Object Caching 4471/4588 objects using disk: basic

Served from: blog.iflashlord.com @ 2012-02-09 17:32:55 -->
