<?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; MouseEvent</title>
	<atom:link href="http://blog.iflashlord.com/tag/mouseevent/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>تمام صفحه در اکشن اسکریپت ۳</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>دریافت کردن مرورگر و سیستم عامل کاربر توسط اکشن اسکریپت ۳</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>
		<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>جستجوی به ترتیب یک لغت در فیلد متنی</title>
		<link>http://blog.iflashlord.com/1390/07/%d8%ac%d8%b3%d8%aa%d8%ac%d9%88%db%8c-%d8%a8%d9%87-%d8%aa%d8%b1%d8%aa%db%8c%d8%a8-%db%8c%da%a9-%d9%84%d8%ba%d8%aa-%d8%af%d8%b1-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/</link>
		<comments>http://blog.iflashlord.com/1390/07/%d8%ac%d8%b3%d8%aa%d8%ac%d9%88%db%8c-%d8%a8%d9%87-%d8%aa%d8%b1%d8%aa%db%8c%d8%a8-%db%8c%da%a9-%d9%84%d8%ba%d8%aa-%d8%af%d8%b1-%d9%81%db%8c%d9%84%d8%af-%d9%85%d8%aa%d9%86%db%8c/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 01:11:03 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[alwaysShowSelection]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[CLICK]]></category>
		<category><![CDATA[Event Listener]]></category>
		<category><![CDATA[Find Next]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Focus]]></category>
		<category><![CDATA[indexOf]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[setSelection]]></category>
		<category><![CDATA[اکشن 3]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></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=1363</guid>
		<description><![CDATA[در این مطلب نحوه جستجوی به ترتیب (مشابه Find Next) یک لغت در یک فیلد متنی و انتخاب این لغت آموزش داده می‌شود، به طوری که بعد از هر بار کلیک روی دکمه مربوط به Find Next لغت مورد نظر بعدی انتخاب می‌شود. ۱- ابتدا یک دکمه به نام find_next_btn، یک فیلد متنی به نام target_txt به [...]]]></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/search_text_find_next_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مطلب نحوه جستجوی به ترتیب (مشابه Find Next) یک لغت در یک فیلد متنی و انتخاب این لغت آموزش داده می‌شود، به طوری که بعد از هر بار کلیک روی دکمه مربوط به Find Next لغت مورد نظر بعدی انتخاب می‌شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-1363"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۱- ابتدا یک دکمه به نام find_next_btn، یک فیلد متنی به نام target_txt به عنوان فیلد متنی اصلی و یک فیلد متنی برای نوشتن کلمه مورد نظر جستجو به نام search_txt بسازید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1364" title="findnext_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2011/10/findnext_iflashlord.png" alt="" width="408" height="263" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۲- ابتدا یک متغیر برای پیدا کردن اندیس بعدی و یک Event Listener برای دکمه Find Next می‌سازیم.</p>
<pre class="brush: as3; title: ; notranslate">
var i:Number = 0;
find_next_btn.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">3- حالا تابعی را که بعد از کلیک روی دکمه فراخوانی می‌شود، تعریف می‌کنیم.</p>
<pre class="brush: as3; title: ; notranslate">
function fl_MouseClickHandler(event:MouseEvent):void
{
	target_txt.alwaysShowSelection = true;
	i = target_txt.text.indexOf(search_txt.text,i) + search_txt.length;
	target_txt.setSelection(i - search_txt.length, i);
	if (target_txt.text.indexOf(search_txt.text,i) &lt; 0)
	{
		i = 0;
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در این تابع:</strong></p>
<ul>
<li>ابتدا با دستور alwaysShowSelection وضعیت نمایش ناحیه انتخاب شده را به صورت همیشه فعال تبدیل می‌کنیم تا حتی زمانی که Focus روی سایر اشیاست هم ناحیه انتخاب شده دیده شود.</li>
<li>مقدار i را برای پیدا کردن لغت بعدی آماده می‌کنیم. برای این کار طول رشته لغت مورد نظر را به اندیس پیدا شده اضافه می‌کنیم.</li>
<li>لغت مورد نظر را به کمک دستور setSelection روی target_txt نشان می‌دهیم.</li>
<li>در صورتی که اندیس آخرین لغت هم پیدا شد، به کمک دستور if جستجو را از ابتدا شروع می‌کنیم. در این دستور فرض شده است که بعد از آخرین لغت پیدا شده، مقدار ۱- برای دستور indexOf برگردانده شود.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/07/%d8%ac%d8%b3%d8%aa%d8%ac%d9%88%db%8c-%d8%a8%d9%87-%d8%aa%d8%b1%d8%aa%db%8c%d8%a8-%db%8c%da%a9-%d9%84%d8%ba%d8%aa-%d8%af%d8%b1-%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>بهینه سازی فلش &#8211; انجماد اشیاء</title>
		<link>http://blog.iflashlord.com/1390/05/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-%d8%a7%d9%86%d8%ac%d9%85%d8%a7%d8%af-%d8%a7%d8%b4%db%8c%d8%a7%d8%a1/</link>
		<comments>http://blog.iflashlord.com/1390/05/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-%d8%a7%d9%86%d8%ac%d9%85%d8%a7%d8%af-%d8%a7%d8%b4%db%8c%d8%a7%d8%a1/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 08:22:35 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی ایر]]></category>
		<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[ADDED_TO_STAGE]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[contains]]></category>
		<category><![CDATA[CPU-intensive]]></category>
		<category><![CDATA[currentTarget]]></category>
		<category><![CDATA[Dictionary]]></category>
		<category><![CDATA[Event.ENTER_FRAME]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[for each]]></category>
		<category><![CDATA[Freezing]]></category>
		<category><![CDATA[Keyboard.LEFT]]></category>
		<category><![CDATA[Keyboard.RIGHT]]></category>
		<category><![CDATA[KeyboardEvent]]></category>
		<category><![CDATA[keyCode]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[MouseEvent.CLICK]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Objects]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[removeChild]]></category>
		<category><![CDATA[REMOVED_FROM_STAGE]]></category>
		<category><![CDATA[Unfreezing]]></category>
		<category><![CDATA[اشیاء]]></category>
		<category><![CDATA[انجماد]]></category>
		<category><![CDATA[بهینه سازی فلش]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=952</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/2011/04/optimaize_flash_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="text-align: right;">بهینه سازی در فلش یک اصل مهم به حساب می آید و افزایش و کار بر روی آن برای توسعه دهندگان فلش امری الزامی است. به عنوان یک توسعه دهنده فلش و به عنوان کسی که برای آینده این نرم افزار بزرگ احساس مسئولیت می کند ، ما وظیفه داریم در ساخت عناصر فلش که کارایی بهتری دارند پیش گام باشیم و همواره بهترین و بهینه ترین روش را استفاده کنیم. در این مجموعه آموزشی بهینه سازی فلش به نکات مهم برای مدیریت بر عناصر و حافظه ها … می پردازیم و تلاش می کنیم که بتوانیم با استفاده از نکات ارائه شده خروجی بهینه تر و سبک تری از پروژه فلش خود داشته باشیم.</p>
<p style="text-align: right;"><strong>بخش هفتم &#8211; انجماد (ثابت کردن) اشیاء و آزاد کردن اشیاء</strong></p>
<p title="بهینه سازی فلش – آزاد سازی حافظه"><strong></strong>برای بهینه سازی کد خود ، سعی کنید همیشه ازثابت کردن (Freeze) و آزاد کردن (Unfreeze) اشیاء استفاده کنید. این موارد برای همه اشیاء مهم هستند ، اما به صورت ویژه برای Display Object ها مهم هستند. حتی اگر شی نمایشی (<a title="بهینه سازی فلش – Display Objects" href="http://blog.iflashlord.com/1390/01/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-display-objects/">Display Object</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/">Display List</a>) نباشد و در انتظار <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-%d8%a2%d8%b2%d8%a7%d8%af-%d8%b3%d8%a7%d8%b2%db%8c-%d8%ad%d8%a7%d9%81%d8%b8%d9%87/">جمع آوری زباله (</a><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-%d8%a2%d8%b2%d8%a7%d8%af-%d8%b3%d8%a7%d8%b2%db%8c-%d8%ad%d8%a7%d9%81%d8%b8%d9%87/">Garbage collection</a><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-%d8%a2%d8%b2%d8%a7%d8%af-%d8%b3%d8%a7%d8%b2%db%8c-%d8%ad%d8%a7%d9%81%d8%b8%d9%87/">)</a> باشد ، <strong>این اشیاء می توانند هنوز حافظه و  CPU را درگیر خود کنند.</strong></p>
<p style="text-align: right;"><span id="more-952"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای مثال ، ما می توانید با استفاده از Event.ENTER_FRAME رویدادی کیبورد را کنترل کنید ، در نتیجه شما امکان freeze کردن و unfreeze کردن را با رویداد های Event.REMOVE_FROM_STAGE و Event.ADDED_TO_STAGE در اختیار دارید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">مثال زیر نمونه این کار را در قالب Movie Clip ی که در حال پخش در stage هست و با کنترلر کیبورد در تعامل می باشد ، را مشاهده می کنید :</p>
<pre class="brush: as3; title: ; notranslate">

// تعریف رویداد های کیبورد

stage.addEventListener(KeyboardEvent.KEY_DOWN, keyIsDown);

stage.addEventListener(KeyboardEvent.KEY_UP, keyIsUp);

// ساخت یک شی برای ذخیره کردن کلید تعیین شده

var keys:Dictionary = new Dictionary(true);

function keyIsDown(e:KeyboardEvent):void
{

	// به یاد داشتن کلیدی که فشرده شده است

	keys[e.keyCode] = true;

	if (e.keyCode == Keyboard.LEFT || e.keyCode == Keyboard.RIGHT)
	{

		runningBoy.play();

	}

}

function keyIsUp(e:KeyboardEvent):void
{

	// به یاد داشتن کلیدی که بعد از فشرده شدن رها شده است

	keys[e.keyCode] = false;

	for each (var value:Boolean in keys)
	{

		if (value)
		{
			return;
		}
	}

	runningBoy.stop();

}

runningBoy.addEventListener(Event.ENTER_FRAME, handleMovement);

runningBoy.stop();

var currentState:Number = runningBoy.scaleX;

var speed:Number = 15;

function handleMovement(e:Event):void
{

	if (keys[Keyboard.RIGHT])
	{

		e.currentTarget.x +=  speed;

		e.currentTarget.scaleX = currentState;

	}
	else if (keys[Keyboard.LEFT])
	{

		e.currentTarget.x -=  speed;

		e.currentTarget.scaleX =  -  currentState;

	}

}
</pre>
<p style="text-align: right;">زمانی که روی دکمه مربوطه به حذف با نام  removeBtn کلیک شود ، Movie Clip از لیست نمایش (Display List) حذف می شود:</p>
<pre class="brush: as3; title: ; notranslate">

// نمایش یا حذف مووی کلیپ توسط رویداد های دکمه های مربوطه

showBtn.addEventListener(MouseEvent.CLICK,showIt);

removeBtn.addEventListener(MouseEvent.CLICK,removeIt);

function showIt(e:MouseEvent):void
{

	addChild(runningBoy);

}

function removeIt(e:MouseEvent):void
{

	// حذف مووی کلیپ در صورتی موجود بودن

	if (contains(runningBoy))
	{
		removeChild(runningBoy);
	}

}
</pre>
<p style="text-align: right;">زمانی که Movie Clip از لیست نمایش حذف می شود ، Movie Clip هنوز رویداد Event.ENTER_FRAME را ارسال می کند. Movie Clip اجرا می شود ولی رندر (Render) نمی شود. برای ایجاد دستگیره به این وضعیت به صورت درست ، می بایست رویداد های دیگری را برای حذف تعریف کنیم ، برای پیش گیری از فشاری که این مساله به CPU وارد می آورد :</p>
<pre class="brush: as3; title: ; notranslate">

// Listen to Event.ADDED_TO_STAGE and Event.REMOVED_FROM_STAGE

runningBoy.addEventListener(Event.ADDED_TO_STAGE,activate);

runningBoy.addEventListener(Event.REMOVED_FROM_STAGE,deactivate);

function activate(e:Event):void
{

	// باز نشانی همه چیز

	e.currentTarget.addEventListener(Event.ENTER_FRAME,handleMovement);

}

function deactivate(e:Event):void
{

	//فریز کردین مووی کلیپ برای داشتن کمترین مصرف از سی پی یو در حالتی که مووی کلیپ حذف شده است

	e.currentTarget.removeEventListener(Event.ENTER_FRAME,handleMovement);

	e.currentTarget.stop();

}
</pre>
<p style="text-align: right;">زمانی که دوباره روی دکمه showBtn کلیک می شود ، Movie Clip باز نشانی می شود و رویداد Event.ENTER_FRAME دوباره به آن داده می شود ، و کیبورد به صورت درست باز هم امکان کنترل Movie Clip را دارد.</p>
<blockquote>
<p style="text-align: right;">نکته : اگر شی نمایشی از لیست نمایش حذف شده است ،به مرجع آن مقدار null (تهی) بدهید تا اطمینان داشته باشید که شی freeze شده است. اگر جمع آورنده زباله (garbage collector) اجرا نشود ، شی همچنان به مصرف حافظه و پردازش CPU ادامه می دهد، حتی اگر شی نمایش داده نشود.</p>
</blockquote>
<p style="text-align: right;"><strong>برای اطمینان از این که شی کمترین مصرف حافظه و پردازش CPU را دارد ، می بایست زمانی که شی از لیست نمایش حذف می شود ، کاملا freeze شده باشد.</strong></p>
<blockquote>
<p style="text-align: right;">از نسخه ۱۰ فلش پلیر ، در صورتی که پخش کننده اصلی در فریم ها به فریم خالی برسد ، شی نمایشی به صورت خودکار freeze می شود، حتی اگر شما هیچ کاری برای انجماد (freeze) کردن اشیاء انجام ندهید.</p>
</blockquote>
<p style="text-align: right;">مفهوم انجماد در هنگام بارگزاری از دور(یا خارج) توسط کلاس <a title="بهینه سازی فلش – unloadAndStop در فلش پلیر ۱۰" href="http://blog.iflashlord.com/1390/03/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-unloadandstop-in-flash-player-10/">Loader </a>نیز مهم می باشد. زمانی که از کلاس Loader توسط فلش پلیر ۹ استفاده می کنید ، نیاز هست که به صورت دستی محتوا را در زمانی که رویداد Event.UNLOAD توسط شی LoaderInfo ارسال می شود freeze کنید. هر شی ی می بایست به صورت دستی freeze شود ، که کار سخت و بیهوده می باشد.</p>
<p style="text-align: right;"><strong>فلش پلیر ۱۰</strong> متدی جدیدی برای کلاس Loader با نام <a title="بهینه سازی فلش – unloadAndStop در فلش پلیر ۱۰" href="http://blog.iflashlord.com/1390/03/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-unloadandstop-in-flash-player-10/">unloadAndStop() </a>معرفی کرده است. که این متد به شما این امکان را می دهد که فایل swf در زمان unload به صورت خودکار تمامی اشیاء بارگزاری شده را  freeze کند و فلش پلیر را مجبور به اجرای جمع آورنده زباله (<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-%d8%a2%d8%b2%d8%a7%d8%af-%d8%b3%d8%a7%d8%b2%db%8c-%d8%ad%d8%a7%d9%81%d8%b8%d9%87/">garbage collection</a>) بعد از عمل freeze کند.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در کد زیر یک فایل SWF توسط متد unload() بعد از بارگزاری شدن unload می شود ، که نیاز به پردازش بیشتر و freeze دستی دارد :</strong></p>
<pre class="brush: as3; title: ; notranslate">

var loader:Loader = new Loader();

loader.load( new URLRequest ( &quot;content.swf&quot; ) );

addChild( loader );

stage.addEventListener( MouseEvent.CLICK, unloadSWF );

function unloadSWF( e:MouseEvent ):void
{

	// Unload the SWF file with no automatic object deactivation

	// All deactivation must be processed manually

	loader.unload();

}
</pre>
<p style="text-align: right;"><strong>بهترین راه استفاده از متد unloadAndStop() ، که یک دستگیره بومی برای اجبار جمع آوری زباله در روند اجرا ایجاد می کند ، می باشد:</strong></p>
<pre class="brush: as3; title: ; notranslate">

var loader:Loader = new Loader();

loader.load( new URLRequest ( &quot;content.swf&quot; ) );

addChild( loader );

stage.addEventListener( MouseEvent.CLICK, unloadSWF );

function unloadSWF( e:MouseEvent ):void
{

	// Unload the SWF file with automatic object deactivation

	// All deactivation is handled automatically

	loader.unloadAndStop();

}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در زیر به فهرستی از مواردی که unloadAndStop آنها را برای فایل های swf بارگزاری شده آماده می کند را مشاهده می کنید :</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>*</strong> ایست کردن تمامی MovieClip ها<br />
<strong>*</strong> ایست کردن تمامی صداهای در حال پخش و Stream (پخش در جریان)<br />
<strong>*</strong> ایست و حذف همه تایمر (Timer) های استفاده شده<br />
<strong>*</strong> حذف همه شنونده های رویداد عمومی ، برای enterFrame , exitFrame , frameconstructed , activeate , deactivate<br />
<strong>*</strong> حدف همه شنونده های مربوطه به  stage که توسط فرزند (child) ایجاده شده است<br />
<strong>* </strong>بستن همه NetConnection ها و NetStream ها (Video.attachNetStream/attachCamera(0) – Microphone.setLoopback(0))<br />
<strong>*</strong> حدف فونت های AS3 از جدول فونت های عمومی<br />
<strong>*</strong> ایست ؛ socket ها ، xmlsocket ها ،دانلودهای filerefrence ، و دیگر اشاء مربوطه به دانلود (grandchildren (سطح نوه والد) ) و…<br />
<strong>* </strong>آزاد کردن bitmap های در ارتباط با cacheAsBitmap و filterها و…</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">&nbsp;</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">موفق و پیروز باشید.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1390/05/%d8%a8%d9%87%db%8c%d9%86%d9%87-%d8%b3%d8%a7%d8%b2%db%8c-%d9%81%d9%84%d8%b4-%d8%a7%d9%86%d8%ac%d9%85%d8%a7%d8%af-%d8%a7%d8%b4%db%8c%d8%a7%d8%a1/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>ذخیره کردن XML به صورت Binary</title>
		<link>http://blog.iflashlord.com/1389/11/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%da%a9%d8%b1%d8%af%d9%86-xml-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-binary/</link>
		<comments>http://blog.iflashlord.com/1389/11/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%da%a9%d8%b1%d8%af%d9%86-xml-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-binary/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 15:54:46 +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[addChild]]></category>
		<category><![CDATA[addEventListener]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Binary]]></category>
		<category><![CDATA[binary XML]]></category>
		<category><![CDATA[ByteArray]]></category>
		<category><![CDATA[catch]]></category>
		<category><![CDATA[compress]]></category>
		<category><![CDATA[dataFormat]]></category>
		<category><![CDATA[FileRefrence]]></category>
		<category><![CDATA[FileRefrence.save]]></category>
		<category><![CDATA[flash.net.FileReference]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[uncompress]]></category>
		<category><![CDATA[URLLoader]]></category>
		<category><![CDATA[URLLoaderDataFormat]]></category>
		<category><![CDATA[URLLoaderDataFormat.BINARY]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[writeUTFBytes]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[ایکس ام ال]]></category>
		<category><![CDATA[بایت اری]]></category>
		<category><![CDATA[باینری]]></category>
		<category><![CDATA[دو دویی]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=719</guid>
		<description><![CDATA[ذخیره کردن و بارگزاری و استفاده از فایل های متنی و XML در اکشن اسکریپت ۳ به صورت دو دویی (Binary) امکان جدیدی می باشد ، که برای فایل های خارجی با حجم بالا استفاده زیادی دارد. فایل های XML طولانی می بایست به صورت run-time بارگزاری شود ، با ذخیره XML به صورت Binary [...]]]></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/01/xml2binary_iflashlord.jpg" alt="iflashlord.com" />
	</p><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ذخیره کردن و بارگزاری و استفاده از فایل های متنی و XML در اکشن اسکریپت ۳ به صورت دو دویی (Binary) امکان جدیدی می باشد ، که برای فایل های خارجی با حجم بالا استفاده زیادی دارد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">فایل های XML طولانی می بایست به صورت run-time بارگزاری شود ، با ذخیره XML به صورت Binary شما می توانید اطلاعات را فشرده سازی (compress) کنید و فایل با حجم کمتری دریافت نمایید.</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">مسلما استفاده از اطلاعات XML به صورت فشرده شده و در قالب Binary با روشی که به صورت ساده و در قالب متنی ، برای XML استفاده می شود متفاوت است. بنابراین شما می بایست قبل از شروع به کار تصمیم خود را در مورد پروژه خود بگیرید. ممکن هست اطلاعات سری و امنیتی به صورت خارجی دارید و یا اطلاعات دارید که می خواهید بدون نیاز به کد گذاری دوباره بتوانید آن را تغییر دهید،  و در عین حال ترجیح می دهید که محتوا برای انسان غیر قابل درک باشد ، در مرحله بعد به تبدیل محتوای متنی به دودویی می پردازیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-719"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em><strong><strong>تبدیل XML به دو دویی(Binary) توسط کلاس </strong></strong></em><em><strong><strong>ByteArray</strong></strong></em><em><strong><strong> :</strong></strong></em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ابتدا به این موضوع می پردازیم که چگونه اطلاعات XML را در یک ByteArray دخیره کنیم. در کد زیر ما قبلا اطلاعات XML را به صورت رشته متنی (String) در متغیری با نام xmlData قرار داده ایم. که می توانید این کار را یا توسط بارگزاری اطلاعات انجام دهید و یا از XML داخلی فلش استفاده نمایید.</p>
<pre class="brush: as3; title: ; notranslate">

var data:ByteArray = new ByteArray();
data.writeUTFBytes(xmlData); // xmlData فایل ایکس ام ال اصلی ما می باشد
data.compress();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">با استفاده از این کدها ، هم اکنون متغیر data از نوع ByteArray شامل محتوای فشرده شده فایل XML به صورت دو دویی (Binary) می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em><strong><strong>ذخیره به صورت یک فایل </strong></strong></em><em><strong><strong>:</strong></strong></em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال شما اطلاعات Binary از نوع ByeArray را دارید ، شما می توانید آن را به صورت یک فایل خام ذخیره کنید ، برای این کار شما گزینه های زیر را پیش رو دارید:</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">۱ &#8211; ارسال به سرور و ذخیره اطلاعات توسط واسط سمت سرور.<br />
۲ &#8211; استفاده از امکاناتی که Adobe Air در اختیار شما قرار می دهد برای ذخیره بر روی دیسک سخت.<br />
۳ &#8211; استفاده از فلش پلیر ورژن ۱۰ برای ذخیره بر روی دیسک سخت.</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">کلاسی می بایست برای این امر از آن استفاده کنیم flash.net.FileReference می باشد، متد (method) مربوطه به ذخیره FileRefrence.save() می باشد و به کاربر امکان دادن مسیر ذخیره فایل را می دهد ، با این امکان شما می توانید اطلاعات خود را مانند یک فایل بر روی سیستم کاربر ذخیره کنید ، البته برای ذخیره کاربر امکان تغییر نام و مسیر فایل مورد نظر شما را خواهد داشت و البته یک مزیت این روش مناسب بودن برای نمونه های تحت وب است.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">به عنوان یک اقدام امنیتی فلش پلیر نتها در صورتی این دستور را اجرا می کند که شما آن را با تعیین یک رویداد به کاربر نمایش دهید مانند (رویداد <strong>MouseEvent.CLICK</strong>).  به هر حال شما نیاز دارید یک دکمه (button) ایجاد کنید و شنونده (listener) مربوطه به رویداد را به آن اضافه کنید و در تابع مربوطه متد <strong>save()</strong> را فراخوانی کنید</p>
<pre class="brush: as3; title: ; notranslate">

function on_buttonClick(evt:MouseEvent):void
{
	var data:ByteArray = new ByteArray();
	data.writeUTFBytes(xmlData);
	// xmlData فایل اصلی ایکس ام ال در قالب متنی;
	data.compress();
	new FileReference  .save(data, &quot;bindata.xml&quot;);
}//&quot;bindata.xml&quot; نام پیش فرض
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">فرمان save() کادر محاوره ای باز می کند که شما می توانید نام فایل و محل ذخیره سازی را به دلخواه مشخص نمایید و بر روی سیستم ذخیره نمایید ، توجه داشته باشید با این که در این مورد ما پسوند فایل را xml قرار دادیم ولی این فایل با فرمت (extension) دو دویی (binary) تبدیل شده است و محتوای آن عملا دیگر برای انسان قابل فهم نمی باشد و در صورتی که با یک ویرایشگر متنی فایل را مشاهده نمایید محتوای آن تشکیل شده است از متون در هم ریخته که مفهومی ندارد و دلیل این امر نیز فشرده شدن و تبدیل به دودویی (binary) می باشد.</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"><em><strong>بارگزاری فایل XML دو دویی (Binary) </strong></em><em><strong><strong>:</strong></strong></em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال شما فایلی دارید که به صورت دو دویی می باشد ولی محتوای آن فایل xml  شماست ، حال برای استفاده و بارگزاری آن شما می بایست از روش زیر استفاده کنید. در نهایت محتوای بارگزاری شده در فلش مانند فایل ساده ی xml بوده و تمامی دسترسی هایی که در زمان بارگزاری و استفاده از یک فایل xml ساده دارید را همچنان بدون هیچ محدودیتی در اختیار دارید.</p>
<pre class="brush: as3; highlight: [2]; title: ; notranslate">

var ldr:URLLoader = new URLLoader();
ldr.dataFormat = URLLoaderDataFormat.BINARY;// ** مطمئن شوید این خط کد را نوشته اید **
ldr.addEventListener(Event.COMPLETE, on_XML);
ldr.addEventListener(IOErrorEvent.IO_ERROR, on_XML);
ldr.load(new URLRequest(pathToXMLFile));
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">این کد برای بارگزاری فایل XML مانند یک فایل XML ساده می باشد ، تنها تفاوتی که وجود دارد در این می باشد که شما می بایست dataFormat را نیز تعیین نمایید و آن را برای فایل دو دویی به صورت URLLoaderDataFormat.BINARY مقدار دهی نمایید. حتی اگر شما این فایل را به صورت ساده بارگزاری کنید کد می بایست به درستی کار کند.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em><strong><strong>تبدیل فایل دو دویی(Binary) به </strong></strong></em><em><strong><strong>XML </strong></strong></em><em><strong><strong>توسط کلاس </strong></strong></em><em><strong><strong>ByteArray</strong></strong></em><em><strong><strong> :</strong></strong></em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">بعد از این که بارگزاری داده های binary فایل XML ما انجام شد می بایست اطلاعات دو دویی را به اطلاعات متنی XML تبدیل نماییم.</p>
<pre class="brush: as3; title: ; notranslate">

var xmlData:XML;

function on_XML(evt:Event):void
{
	if (evt.type == Event.COMPLETE)
	{
		var data:* = URLLoader(evt.target).data;
		if (data is ByteArray)
		{
			try
			{
				ByteArray(data).uncompress();
			}
			catch (e:Error)
			{
			}
		}
		xmlData = XML(data);
	}
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">با کد بالا برنامه شما می تواند هر دو نوع فایل text XML و binary XML را دریافت کند ،شما می توانید این کد را حتی در زمانی که فایل XML شما فشرده شده و به صورت دو دویی نمی باشد نیز استفاده کنید. با این کار در صورتی که شما در زمانی تصمیم گرفتید که از اطلاعات XML به صورت فشرده شده Binary در برنامه خود استفاده کنید می توانید این کار را به راحتی و بدون هیچ تغییری انجام دهید و برنامه به درستی این نوع فایل را دریافت خواهد کرد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در پایان توجه داشته باشید این روش را می توانید برای هر فایل متنی استفاده کنید و تنها برای فایل های XML نمی باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">موفق و پیروز باشید.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1389/11/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%da%a9%d8%b1%d8%af%d9%86-xml-%d8%a8%d9%87-%d8%b5%d9%88%d8%b1%d8%aa-binary/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>پخش صدا در اکشن اسکریپت ۳ – بخش سوم</title>
		<link>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%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-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/</link>
		<comments>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%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-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 16:23:45 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Components]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[lastPosition]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[Pause]]></category>
		<category><![CDATA[SoundChannel]]></category>
		<category><![CDATA[soundTransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[transform]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[Volume]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا در اکشن اسکریپت]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=410</guid>
		<description><![CDATA[در ادامه  بخش دوم مبحث پخش صدا در اکشن اسکریپت ۳ به بخش آخر این مبحث می پردازیم : Pause کرد صدا در واقع اکشن اسکریپت متدی برای pause کردن صدا ندارد و عملی که می بایست انجام شود Stop کردن صدا می باشد و برای ادامه می بایست عمل play از محل ادامه تعیین [...]]]></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/06/as3_sound_iflashlord.jpg" alt="iflashlord.com" />
	</p><blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ادامه <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%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-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/" target="_blank"> بخش دوم مبحث پخش صدا در اکشن اسکریپت ۳</a> به بخش آخر این مبحث می پردازیم :</p></blockquote>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>Pause </strong><strong>کرد صدا</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در واقع اکشن اسکریپت متدی برای pause کردن صدا ندارد و عملی که می بایست انجام شود Stop کردن صدا می باشد و برای ادامه می بایست عمل play از محل ادامه تعیین شود.<br />
این عمل نیاز به این دارد که ما آخرین محل در حال پخش را قبل از Stop کردن دریافت کنیم تا در زمان ادامه دادن بتوان با استفاده از play از ادامه صدا عمل پخش را شروع کنیم.<br />
برای این کار نیاز داریم از soundChannel و خصوصیت .position استفاده کنیم تا بتوانیم این مقدار را در مرحله بعد در متد .play استفاده کنیم.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-410"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای شروع این پروژه ابتدا از پانل Components دکمه ای را می کشیم و به Stage وارد می کنیم و instance name آن را play_btn قرار می دهیم و label آن را Play قرار می دهیم و دکمه دیگر با instance name ی با مقدار pause_btn قرار دهید یا lable و instance name مربوطه به مثال قبلی را با مقدار های Pause و pause_btn تغییر دهید. در نهایت می بایست مانند تصیر زیر دو دکمه در صفحه داشته باشید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-412" title="sound_as3_p3_1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound_as3_p3_1_iflashlord.gif" alt="" width="261" height="63" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال به بخش اکشن اسکریپت بر می گردیم و ابتدا می بایست همه کد های مربوطه به stop_btn مثال قبلی را حذف نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">کد هایی که می بایست حذف شود:</p>
<pre class="brush: as3; title: ; notranslate">
stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);
function onClickStop(e:MouseEvent):void{
myChannel.stop();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برای این که ما آخرین محل پخش شدن را در دسترس داشته باشیم نیاز داریم یک variable ایجاد کنیم و مقدار آخرین محل پخش را در زمان Stop کردن در آن قرار دهیم. ما به راحتی می توانیم یک variable ایجاد کنیم و مقدار آن را به صورت پیش فرض رو صفر ۰ قرار دهیم. ما نام این variable را lastPosition قرار می دهیم به کد زیر دقت نمایید :</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال ما به کدهای مربوط به دکمه Pause می پردازیم زمانی که بر روی این دکمه کلیک می شود ما ابتدا به lastPosition مقداری که از SoundChannel ما دریافت می شود و خصوصیت position آن دریافت می کنیم. در زیر به کد مربوطه به pause_btn دقت نمایید :</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();
pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
function onClickPause(e:MouseEvent):void{
lastPosition = myChannel.position;
myChannel.stop();
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ما حال می بایست در دکمه Play تغییراتی انجام دهیم که تا بتواند در زمان کلیک از آخرین محل عمل پخش را انجام دهد این کار به راحتی با دادن مقدار lastPosition به اولین آرگمان مربوطه به متد Play این کار امکان پذیر می باشد ، اگر توجه کرده باشید در ابتدا مقدار lastPosition را روی ۰ قرار دادیم با این کار در صورتی که تا به حال عمل pause انجام نشده باشد عمل play از محل ۰ که همان ابتدای صوت ما می باشد شروع می شود ، توجه داشته باشید که می بایست متد play را به myChannel نسبت دهید :</p>
<pre class="brush: as3; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);
function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}
play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);
function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حالا وقت این رسیده که با Ctrl+Enter پروژه خودتون تست نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>تغییر ولوم (</strong><strong>Volume</strong><strong>) صدا</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در آخر بخش صدا ها به ولوم صدا و کنترل بر آن توسط SoundChannel می پردازیم ، برای تغییر در ولوم صدا نیاز به استفاده از کلاس SoundTransform و خصوصیت SoundChannel.soundTransform می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">کلاس SoundTransform دارای خصوصیات متغیری می باشد که مهم ترین برای ما .volome می باشد. استفاده از SoundTransform بسیار ساده می باشد همه چیزی که نیاز دارید این است که ابتدا یک متغیر بسازید و کلاس را به آن نسبت دهید و خصوصیات را اعمال نمایید و به خصوصیت .soundTransform مربوط به SoundChannel مربوطه متغیر ساخته شده را اعمال نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در ادامه کار را با ایجاد نمونه ای از کلاس SoundTransform و اعمال آن به myTransform شروع می کنیم :</p>
<pre class="brush: as3; highlight: [3]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مرحله ما می بایست مقداری به خصوصیت .volume  بر روی این نمونه بدهیم.مقداری مربوطه به خصوصیت .volume مقداری بین ۰ تا ۱ می باشد که ۱ به معنای نهایت ولوم و ۰ به معنای بدون صدا بودن می باشد ، شما می توانید مقدار های اعشاری بین ۰ تا ۱ را برای مقدار دهی استفاده کنید به طور مثال ۰.۵ به معنای ۵۰%  صدا می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مرحله ولوم را بر روی ۰.۵ که صدای متوسط می باشد (۵۰%) قرار می دهیم.</p>
<pre class="brush: as3; highlight: [7]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
myTransform.volume = 0.5;

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال این transform  را به عنوان خصوصیت .soundTransform مربوطه به SoundChannel اعمال می کنیم.</p>
<pre class="brush: as3; highlight: [8]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
myTransform.volume = 0.5;
myChannel.soundTransform = myTransform;

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">شما می بایست همیشه به یاد داشته باشید استفاده از .soundTransform می بایست <strong>بعد از</strong> قرار دادن شی صدا در channel  شما باشد و نه قبل از آن. شما می توانید ولوم را با تست کردن Movie و صدا را به صورت متوسط بشنوید ولی با Pause و Play کردن صدا متوجه خواهید شد صدا دوباره زیاد می شود ، دلیل این می باشد که زمانی که صدای جدیدی به Channel وارد می کنید  همه soundTransform ها حذف می شود. ما این مورد را با اعمال  دوباره خصوصیت .soundTransform واقع در تابع onClickPlay حل می کنیم :</p>
<pre class="brush: as3; highlight: [23]; title: ; notranslate">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform = new SoundTransform();
var lastPosition:Number = 0;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play();
myTransform.volume = 0.5;
myChannel.soundTransform = myTransform;

pause_btn.addEventListener(MouseEvent.CLICK, onClickPause);

function onClickPause(e:MouseEvent):void
{
	lastPosition = myChannel.position;
	myChannel.stop();
}

play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);

function onClickPlay(e:MouseEvent):void
{
	myChannel = mySound.play(lastPosition);
	myChannel.soundTransform = myTransform;
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال movie را تست نمایید و به این نکته دقت کنید که این بار با Pause و Play کردن در ولوم صدا تغییری ایجاد نمی شود.</p>
<blockquote><p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">
توصیه می شود <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%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-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/" target="_blank">بخش اول صداها در اکشن اسکریپت ۳</a> و <a href="http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%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-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%af%d9%88%d9%85/" target="_blank">بخش دوم صداها در اکشن اسکریپت ۳ </a> نیز مطالعه شود.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1389/03/%d9%be%d8%ae%d8%b4-%d8%b5%d8%af%d8%a7-%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-%db%b3-%d8%a8%d8%ae%d8%b4-%d8%b3%d9%88%d9%85/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>navigateToURL در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1388/11/navigatetourl-%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/1388/11/navigatetourl-%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, 14 Feb 2010 21:21:33 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[mouse event در فلش]]></category>
		<category><![CDATA[MouseEvent]]></category>
		<category><![CDATA[mouseevent در فلش]]></category>
		<category><![CDATA[navigateToURL]]></category>
		<category><![CDATA[navigatetourl تابع]]></category>
		<category><![CDATA[URLRequest]]></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>
		<category><![CDATA[اسکریپت برای دکمه های فلش]]></category>
		<category><![CDATA[اسکریپت دکمه فلش]]></category>
		<category><![CDATA[اسکریپت نویسه در فلش]]></category>
		<category><![CDATA[اكشن اسكريپ 3 صفحه كليد]]></category>
		<category><![CDATA[اموزش اسكريپ فلش]]></category>
		<category><![CDATA[اموزش کدهای اکشن اسکریپ فلش]]></category>
		<category><![CDATA[اموزش کدهای فلش]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[اکشن اسکریپت 3 دکمه]]></category>
		<category><![CDATA[اکشن اسکریپت ساخت دکمه]]></category>
		<category><![CDATA[اکشن دکمه در فلش]]></category>
		<category><![CDATA[اکشن نوشتن برای یک کلید با اکشن اسکریپت 3]]></category>
		<category><![CDATA[اکشن های دگمه در فلش]]></category>
		<category><![CDATA[اکشن کلید در اکشن اسکریپت 3]]></category>
		<category><![CDATA[ایجاد دکمه در فلش با اکشن اسکریپت]]></category>
		<category><![CDATA[ایجاد لینک در flash]]></category>
		<category><![CDATA[ایجاد لینک در فلش]]></category>
		<category><![CDATA[برنامهای برای نوشتن ایمیل]]></category>
		<category><![CDATA[تابع mouse event ماوس]]></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>
		<category><![CDATA[دانلود صدای دکمه در فلش]]></category>
		<category><![CDATA[دانلود صدای کلیک برای فلش]]></category>
		<category><![CDATA[دانلود صدای کلیک برنامه]]></category>
		<category><![CDATA[دانلود کلید برای فلش]]></category>
		<category><![CDATA[دكمه لينك به فايل در فلش]]></category>
		<category><![CDATA[دكمه هاي فلش]]></category>
		<category><![CDATA[دکمه stop در اکشن اسکریپت 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>
		<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>
		<category><![CDATA[ساخت لينك در فلش]]></category>
		<category><![CDATA[ساخت لینک در فلش]]></category>
		<category><![CDATA[ساخت کلید برای سایت]]></category>
		<category><![CDATA[ساخت کلید در flash]]></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>
		<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[كد اكشن اسكريپت 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[نحوه ی نوشتن کد در اکشن اسکریپت3]]></category>
		<category><![CDATA[نرم افزار نوشتن کد جاوا]]></category>
		<category><![CDATA[نوشتن اکشن اسکریپت]]></category>
		<category><![CDATA[نوشتن اکشن برای دکمه ها در فلش]]></category>
		<category><![CDATA[نوشتن برنامه برای ایمیل]]></category>
		<category><![CDATA[نوشتن کد اسکریپ در فلش]]></category>
		<category><![CDATA[نوشتن کد اکشن اسکریپت برای دکمه های فلش]]></category>
		<category><![CDATA[نوشتن کد برای دکمه در flash]]></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>
		<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>
		<category><![CDATA[کدهای فلش]]></category>
		<category><![CDATA[کلید در adobe flash]]></category>
		<category><![CDATA[کلید در فلش]]></category>
		<category><![CDATA[کلید فلش]]></category>
		<category><![CDATA[کلید فلشی]]></category>
		<category><![CDATA[کلیدهای فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=190</guid>
		<description><![CDATA[یکی از مواردی که به احتمال زیاد هر فردی نیاز خواهد داشت افزودن لینک به دکمه و یا بخشی از فلش می باشد این کار در اکشن اسکریپت ۳ متفاوت از اکشن اسکریپت ۲ می باشد در نسخه جدید از فرمان navigateToURL() استفاده می شود ، در ادامه استفاده از آن را توضیح خواهیم داد&#8230; [...]]]></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><p style="text-align: center;">
<p style="text-align: right;">یکی از مواردی که به احتمال زیاد هر فردی نیاز خواهد داشت افزودن لینک  به دکمه و یا بخشی از فلش می باشد این کار در اکشن اسکریپت ۳  متفاوت از  اکشن اسکریپت ۲ می باشد در نسخه جدید از فرمان navigateToURL() استفاده می  شود ، در ادامه استفاده از آن را توضیح خواهیم داد&#8230;</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>ساختار کلی  :</strong></p>
<pre class="brush: as3; title: ; notranslate">
navigateToURL(myURL,  window);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>myURL :</strong> آدرس صفحه شما  می باشد که البته می بایست توسط کلاس URLRequest تعریف شده باشد.<br />
<strong>window   :</strong> نوع باز شدن لینک را مشخص می کند (مثلا _blank به صفحه جدید اشاره  می کند.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>در ادامه  به مثالی ساده در این مورد می پردازیم :</strong><br />
<span id="more-190"></span></p>
<pre class="brush: as3; title: ; notranslate">
var  myURL:URLRequest = new URLRequest(&quot;http:///www.iflashlord.com/&quot;);
navigateToURL(myURL,  &quot;_blank&quot;);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در کد بالا ابتدا myURL را از  نوع URLRequest تعریف می کنیم و سپس کلاس URLRequest را ایجاد و مقدار  آدرس صفحه را به عنوان آرگمان آن وارد می کنیم ، تا اینجاد درخواست ایجاد  شد ، این درخواست را به عنوان اولین آرگمان navigateToURL استفاده می کنیم و  دومین آرگمان هم نوع باز شدن که می تواند ، _self , _top , یا نام فریمی  در اچ تی ام ال که می خواهید لینک درون آن فریم فراخوانی شود مقدار دهی  کنید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong><!--sizeo:4--><!--/sizeo-->یه مثال کاربردی <!--sizec--><!--/sizec--></strong><br />
برای  شاخت یک مثال کاربردی از ساخت پروژه جدید از نوع AS3 می نماییم ، کلید  میان بر ctrl+n<br />
<img src="http://www.republicofcode.com/tutorials/flash/as3link/new-as3-file.gif" border="0" alt="" width="474" height="80" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و سپس از مسیر Window&gt;Component پنل کامپوننت را  انتخاب کنید و سپس بخش User Interface را باز نمایید و بعد Button را با  موس گرفته و بر روی صفحه بکشید و سپس آن را انتخاب کرده و سپس از مسیر  Windows&gt;Components Inspector مقدار Open Link را برای Label وارد  نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img id="--ipb-img-resizer-4" src="http://www.republicofcode.com/tutorials/flash/as3link/button-on-stage.gif" border="0" alt="" width="449" height="280" /><br />
سپس دکمه را انتخاب و پنل Properties را باز  نمایید و instance name را با مقدار my_btn پر نمایید ، با مقدار دهی به  instance names به راحتی متوانید به دکمه ایجاد شده رجوع نمایید.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img src="http://www.republicofcode.com/tutorials/flash/as3link/instance-name.gif" border="0" alt="" /></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">برای  رویداد دکمه ایجاد شده در زمان کلیک می بایست از MouseEvent.CLICK استفاده  کنید و یک تابع را توسط آن فرخوانی کنید در این مثال onClick</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>کد  مورد نظر : </strong></p>
<pre class="brush: as3; title: ; notranslate">
my_btn.addEventListener(MouseEvent.CLICK,  onClick);
function onClick(e:MouseEvent):void{}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">و حال درون تابع ایجاد شده از کد navigateToURL استفاده می  کنیم و کد نهایی را به صورت زیر می نویسیم :</p>
<pre class="brush: as3; title: ; notranslate">
my_btn.addEventListener(MouseEvent.CLICK,  onClick);
function onClick(e:MouseEvent):void{
navigateToURL(new  URLRequest(&quot;http:///www.iflashlord.com/&quot;), &quot;_blank&quot;);
}
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حالا  می تونید به راحتی با کلیدهای Ctrl+Enter فایل رو تست نمایید.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1388/11/navigatetourl-%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>
	</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/26 queries in 0.080 seconds using disk: basic
Object Caching 6055/6316 objects using disk: basic

Served from: blog.iflashlord.com @ 2012-02-09 16:31:31 -->
