<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>پادشاه فلش &#187; اکشن اسکریپت 3</title>
	<atom:link href="http://blog.iflashlord.com/tag/%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iflashlord.com</link>
	<description>دست نوشته های یک پادشاه فلش</description>
	<lastBuildDate>Sat, 31 Jul 2010 05:55:09 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Array.indexOf و Array.lastIndexOf در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1389/04/array-indexof-lastindexof-%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/1389/04/array-indexof-lastindexof-%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>Sat, 26 Jun 2010 10:48:54 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Boolean]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[indexOf]]></category>
		<category><![CDATA[lastIndexOf]]></category>
		<category><![CDATA[Number]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[Sprite]]></category>
		<category><![CDATA[آرایه]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=444</guid>
		<description><![CDATA[ساختار کلی : تابع اکشن اسکریپت ۳ خروجی عدد indexOf(searchElement:*, fromIndex:int = 0):int searchElement : عنصری که برای پیدا کرد آن جستجو می کنیم fromIndex : شروع کردن از اندیس تابع اکشن اسکریپت ۳ خروجی عدد lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int searchElement : عنصری که برای پیدا کرد آن جستجو می کنیم fromIndex : شروع کردن [...]]]></description>
			<content:encoded><![CDATA[<p><strong>ساختار کلی :</strong></p>
<p><em>تابع اکشن اسکریپت ۳ خروجی عدد</em></p>
<pre class="brush: as3;">
indexOf(searchElement:*, fromIndex:int = 0):int
</pre>
<p><strong>searchElement  : </strong> عنصری که برای پیدا کرد آن جستجو می کنیم<br />
<strong>fromIndex :</strong> شروع کردن از اندیس</p>
<p><em>تابع اکشن اسکریپت ۳ خروجی عدد</em></p>
<pre class="brush: as3;">
lastIndexOf(searchElement:*,  fromIndex:int = 0x7fffffff):int
</pre>
<p><strong>searchElement  : </strong> عنصری که برای پیدا کرد آن جستجو می کنیم<br />
<strong>fromIndex :</strong> شروع کردن از اندیس</p>
<p><span id="more-444"></span></p>
<p>نحوه استفاده از این متد مثل استفاده از  String.indexOf و String.lastIndexOf  می باشد و شما می توانید به طور مثال  محل قرار گیری یک Object  در یک Array را بدست آورید و یا محل قرار گیری  یک sprite در یک آرایه<strong> (چندمین عنصر بودن آن)</strong> را بدست آورید<br />
در صورتی که  عنصر مورد نظر شما در آرایه موجود نباشد خروجی<strong> -۱</strong> می باشد</p>
<p><strong>حال  به مثالی در این مورد توجه کنید: </strong></p>
<pre class="brush: as3;">
var sprite:Sprite = new Sprite();
var  object:Object = new Object();
var boolean:Boolean = true;
var  number:Number = 10;

var array:Array = new Array(sprite, object,  number);
trace(array.indexOf(sprite)); // 0
trace(array.indexOf(number));  // 2
trace(array.indexOf(boolean)); // -1
</pre>
<p>موفق و پیروز باشید</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1389/04/array-indexof-lastindexof-%d8%a7%da%a9%d8%b4%d9%86-%d8%a7%d8%b3%da%a9%d8%b1%db%8c%d9%be%d8%aa-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>پخش صدا در اکشن اسکریپت ۳ – بخش چهارم</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-%da%86%d9%87%d8%a7%d8%b1%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-%da%86%d9%87%d8%a7%d8%b1%d9%85/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 20:59:06 +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[isPlay]]></category>
		<category><![CDATA[linkage]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[sound class]]></category>
		<category><![CDATA[SoundChannel]]></category>
		<category><![CDATA[soundTransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=425</guid>
		<description><![CDATA[با توجه به این که شاید پروژه نهایی ارائه شده در بخش سوم این آموزش کامل نمی باشد ، سعی می کنیم در این بخش از آموزش نکات ریزی که ممکن هست در کار با صدا ها و مثال های ذکر شده در آموزش قبل به آنها بر بخورید را در این مطلب توضیح دهیم  [...]]]></description>
			<content:encoded><![CDATA[<p>با توجه به این که شاید پروژه نهایی ارائه شده در بخش سوم این آموزش کامل نمی باشد ، سعی می کنیم در این بخش از آموزش نکات ریزی که ممکن هست در کار با صدا ها و مثال های ذکر شده در آموزش قبل به آنها بر بخورید را در این مطلب توضیح دهیم  :<br />
<span id="more-425"></span></p>
<p>موردی که در آموزش قبلی احتمالا به آن بر خورده اید ، پخش چند باره با کلیک مجدد بر روی دکمه Play می باشد که این امر به دلیل عدم چک کردن در حال پخش بودن می باشد ، ما در این بخش با ایجاد variable ی با نام isPlay از نوع Boolean و مقدار دهی اولیه true به آن می توانیم با مقدار دهی این متغییر در طول برنامه و با شرطی ساده در تابع مربوز به پخش صدا جلوی پخش مجدد را بگیریم.</p>
<pre class="brush: as3;">
function onClickPlay(e:MouseEvent)
{
	if (! isPlay)
	{
		myChannel = mySound.play(lastPosition);
		myChannel.soundTransform = myTransform;
		isPlay = true;
	}
}
</pre>
<p>مورد بعدی برای مواردی که شما نیاز دارید دکمه Stop را هم به همراه Pause و Play داشته باشید که برای این مورد هم در کد زیر بدون حذف  این مورد می توانید مشاهده نمایید.</p>
<pre class="brush: as3;">
function onClickStop(e:MouseEvent):void
{
	myChannel.stop();
	lastPosition = 0;
	isPlay = false;
}
</pre>
<p>مورد بعدی برای افرادی که کد را به صورت External می نویسند و نیاز به وارد کردن کلاس ها قبل از استفاده از آنها را دارند نیز در کد زیر مجموعه کلاس ها وارد شده قابل مشاهده می باشد.</p>
<blockquote><p>این کد برای تمامی ورژن های نرم افزار فلش که اکشن اسکریپت ۳ را پشتبانی می کنند قابل استفاده می باشد</p></blockquote>
<p><strong>کد نهایی پروژه پخش صدا در اکش اسکریپت ۳ »</strong></p>
<pre class="brush: as3;">
import flash.media.Sound;
import flash.net.URLRequest;
import flash.media.SoundChannel;
import flash.events.MouseEvent;
import flash.media.SoundTransform;

var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
var myTransform:SoundTransform = new SoundTransform();
var lastPosition:Number = 0;
var isPlay:Boolean = true;
mySound.load(new URLRequest(&quot;myFavSong.mp3&quot;));
myChannel = mySound.play(0);
myTransform.volume = 0.5;
myChannel.soundTransform = myTransform;

pause_btn.addEventListener(MouseEvent.CLICK , onClickPause);
function onClickPause(e:MouseEvent)
{
	lastPosition = myChannel.position;
	myChannel.stop();
	isPlay = false;
}

play_btn.addEventListener(MouseEvent.CLICK , onClickPlay);
function onClickPlay(e:MouseEvent)
{
	if (! isPlay)
	{
		myChannel = mySound.play(lastPosition);
		myChannel.soundTransform = myTransform;
		isPlay = true;
	}
}

stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);

function onClickStop(e:MouseEvent):void
{
	myChannel.stop();
	lastPosition = 0;
	isPlay = false;
}
</pre>
<blockquote><p>
<strong>توصبه می شود ب<a href="../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> و </strong><strong><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> و </strong><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%b3%d9%88%d9%85/" target="_blank"><strong>بخش سوم مبحث پخش صدا در اکشن اسکریپت ۳ </strong></a><strong> را نیز  مطالعه نمایید</strong></p></blockquote>
<p>امید است که از این بخش از آموزش ها نهایت بهره را برده باشید.<br />
موفق و پیروز باشید</p>
]]></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-%da%86%d9%87%d8%a7%d8%b1%d9%85/feed/</wfw:commentRss>
		<slash:comments>10</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[اکشن اسکریپت 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[<blockquote><p>در ادامه <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><strong>Pause </strong><strong>کرد صدا</strong></p>
<p>در واقع اکشن اسکریپت متدی برای pause کردن صدا ندارد و عملی که می بایست انجام شود Stop کردن صدا می باشد و برای ادامه می بایست عمل play از محل ادامه تعیین شود.<br />
این عمل نیاز به این دارد که ما آخرین محل در حال پخش را قبل از Stop کردن دریافت کنیم تا در زمان ادامه دادن بتوان با استفاده از play از ادامه صدا عمل پخش را شروع کنیم.<br />
برای این کار نیاز داریم از soundChannel و خصوصیت .position استفاده کنیم تا بتوانیم این مقدار را در مرحله بعد در متد .play استفاده کنیم.</p>
<p><span id="more-410"></span></p>
<p>برای شروع این پروژه ابتدا از پانل Components دکمه ای را می کشیم و به Stage وارد می کنیم و instance name آن را play_btn قرار می دهیم و label آن را Play قرار می دهیم و دکمه دیگر با instance name ی با مقدار pause_btn قرار دهید یا lable و instance name مربوطه به مثال قبلی را با مقدار های Pause و pause_btn تغییر دهید. در نهایت می بایست مانند تصیر زیر دو دکمه در صفحه داشته باشید.</p>
<p><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>حال به بخش اکشن اسکریپت بر می گردیم و ابتدا می بایست همه کد های مربوطه به stop_btn مثال قبلی را حذف نمایید.</p>
<p>کد هایی که می بایست حذف شود:</p>
<pre class="brush: as3;">
stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);
function onClickStop(e:MouseEvent):void{
myChannel.stop();
</pre>
<p>برای این که ما آخرین محل پخش شدن را در دسترس داشته باشیم نیاز داریم یک variable ایجاد کنیم و مقدار آخرین محل پخش را در زمان Stop کردن در آن قرار دهیم. ما به راحتی می توانیم یک variable ایجاد کنیم و مقدار آن را به صورت پیش فرض رو صفر ۰ قرار دهیم. ما نام این variable را lastPosition قرار می دهیم به کد زیر دقت نمایید :</p>
<pre class="brush: as3;">
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>حال ما به کدهای مربوط به دکمه Pause می پردازیم زمانی که بر روی این دکمه کلیک می شود ما ابتدا به lastPosition مقداری که از SoundChannel ما دریافت می شود و خصوصیت position آن دریافت می کنیم. در زیر به کد مربوطه به pause_btn دقت نمایید :</p>
<pre class="brush: as3;">
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>ما حال می بایست در دکمه Play تغییراتی انجام دهیم که تا بتواند در زمان کلیک از آخرین محل عمل پخش را انجام دهد این کار به راحتی با دادن مقدار lastPosition به اولین آرگمان مربوطه به متد Play این کار امکان پذیر می باشد ، اگر توجه کرده باشید در ابتدا مقدار lastPosition را روی ۰ قرار دادیم با این کار در صورتی که تا به حال عمل pause انجام نشده باشد عمل play از محل ۰ که همان ابتدای صوت ما می باشد شروع می شود ، توجه داشته باشید که می بایست متد play را به myChannel نسبت دهید :</p>
<pre class="brush: as3;">
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();
}
play_btn.addEventListener(MouseEvent.CLICK, onClickPlay);
function onClickPlay(e:MouseEvent):void{
myChannel = mySound.play(lastPosition);
}
</pre>
<p>حالا وقت این رسیده که با Ctrl+Enter پروژه خودتون تست نمایید.</p>
<p><strong>تغییر ولوم (</strong><strong>Volume</strong><strong>) صدا</strong></p>
<p>در آخر بخش صدا ها به ولوم صدا و کنترل بر آن توسط SoundChannel می پردازیم ، برای تغییر در ولوم صدا نیاز به استفاده از کلاس SoundTransform و خصوصیت SoundChannel.soundTransform می باشد.</p>
<p>کلاس SoundTransform دارای خصوصیات متغیری می باشد که مهم ترین برای ما .volome می باشد. استفاده از SoundTransform بسیار ساده می باشد همه چیزی که نیاز دارید این است که ابتدا یک متغیر بسازید و کلاس را به آن نسبت دهید و خصوصیات را اعمال نمایید و به خصوصیت .soundTransform مربوط به SoundChannel مربوطه متغیر ساخته شده را اعمال نمایید.</p>
<p>در ادامه کار را با ایجاد نمونه ای از کلاس SoundTransform و اعمال آن به myTransform شروع می کنیم :</p>
<pre class="brush: as3; highlight: [3];">
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>در این مرحله ما می بایست مقداری به خصوصیت .volume  بر روی این نمونه بدهیم.مقداری مربوطه به خصوصیت .volume مقداری بین ۰ تا ۱ می باشد که ۱ به معنای نهایت ولوم و ۰ به معنای بدون صدا بودن می باشد ، شما می توانید مقدار های اعشاری بین ۰ تا ۱ را برای مقدار دهی استفاده کنید به طور مثال ۰.۵ به معنای ۵۰%  صدا می باشد.</p>
<p>در این مرحله ولوم را بر روی ۰.۵ که صدای متوسط می باشد (۵۰%) قرار می دهیم.</p>
<pre class="brush: as3; highlight: [7];">
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>حال این transform  را به عنوان خصوصیت .soundTransform مربوطه به SoundChannel اعمال می کنیم.</p>
<pre class="brush: as3; highlight: [8];">
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>شما می بایست همیشه به یاد داشته باشید استفاده از .soundTransform می بایست <strong>بعد از</strong> قرار دادن شی صدا در channel  شما باشد و نه قبل از آن. شما می توانید ولوم را با تست کردن Movie و صدا را به صورت متوسط بشنوید ولی با Pause و Play کردن صدا متوجه خواهید شد صدا دوباره زیاد می شود ، دلیل این می باشد که زمانی که صدای جدیدی به Channel وارد می کنید  همه soundTransform ها حذف می شود. ما این مورد را با اعمال  دوباره خصوصیت .soundTransform واقع در تابع onClickPlay حل می کنیم :</p>
<pre class="brush: as3; highlight: [21];">
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>حال movie را تست نمایید و به این نکته دقت کنید که این بار با Pause و Play کردن در ولوم صدا تغییری ایجاد نمی شود.</p>
<blockquote><p>
توصیه می شود <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>4</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%af%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%af%d9%88%d9%85/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 11:42:17 +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[linkage]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[position]]></category>
		<category><![CDATA[sound class]]></category>
		<category><![CDATA[SoundChannel]]></category>
		<category><![CDATA[soundTransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=395</guid>
		<description><![CDATA[در ادامه  بخش اول مبحث پخش صدا در اکشن اسکریپت ۳ به موارد دیگر ذکر شده در آن مطلب می پردازیم : پخش یک فایل صوتی خارجی (خارج از فلش ) پخش کردن یک فایل صوتی خارجی ساده تر از پخش فایل صوتی داخل فلش می باشد زیرا شما نیازی به وارد کردن فایل برای [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>در ادامه  <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> به موارد دیگر ذکر شده در آن مطلب می پردازیم :</p></blockquote>
<p><strong><br />
پخش یک فایل صوتی خارجی (خارج از فلش )</strong></p>
<p>پخش کردن یک فایل صوتی خارجی ساده تر از پخش فایل صوتی داخل فلش می باشد زیرا شما نیازی به وارد کردن فایل برای ساخت کلاسی برای فراخوانی فایل ندارید.</p>
<p style="text-align: right;">برای شروع یک پروژه جدید فلش ایجاد کنید و آن را در محلی مثل دسکتاپ ذخیره کنید و فایل .mp3 مربوطه را نیر در همان محل قرار دهید و فایل صوتی را به myFavSong.mp3 تغییر نام دهید.</p>
<p style="text-align: right;"><span id="more-395"></span></p>
<p style="text-align: center;"><img class="size-full wp-image-396    aligncenter" title="sound_as3_p2_1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound_as3_p2_1_iflashlord.jpg" alt="" width="205" height="137" /></p>
<p>حال به پروژه FLa خود برگردید و پنل اکشن را باز نمایید با دکمه F9 و نوشتن کد را شروع می کنیم ، در ابتدا سراغ ساختن new از کلاس Sound می نمایید و آن را به mySound مقدار دهی می کنیم و بعد با استفاده از متد .load این کلاس اقدام به بارگزاری فایل مریوطه می کنیم و در نهایت با استفاده از متد .play اقدام به پخش صدای بارگزاری شده می نماییم.</p>
<p><strong>در زیر به که موارد ذکر شده دقت نمایید</strong><strong> :<br />
</strong></p>
<pre class="brush: as3;">
var mySound:Sound = new Sound();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();
</pre>
<p><strong><br />
</strong><br />
همان طور که در کد بالا مشاهده می کنید برای استفاده از آدرس یک فایل در بخش load در AS3 از کلاس URLRequerst استفاده می کنیم برای اطلاعات بیشتر در مورد این کلاس می توانید به راهنمای نرم افزار فلش مراجعه نمایید. شما هم اکنون می توانید پروژه را تست نمایید و پخش شدن فایل خارجی بارگزاری شده را تست نمایید.</p>
<p><strong>Stop </strong><strong>کردن صدا</strong><strong><br />
</strong><br />
تا اینجا درباره انواع پخش کردن صدا با اکشن صحبت کردیم در ادامه به نحوه Stop کردن و یک مثال خواهیم پرداخت.<br />
نکته ای که وجود دارد این است که کلاس Sound متدی برای Stop کردن صدا ندارد و ما برای این کار می بایست از کلاس SoundChannel کمک بگیریم. ما می بایست یک SoundChannel یا کانال صوتی ایجاد کنیم و عملکرد متد play کلاس Sound رو با اون برابر قرار بدیم تا بتونیم از متد SoundCannel برای صدای خودمون استفاده کنیم.</p>
<p>در زیر به توضیحی از متدهای کلاس SoundChannel می پردازیم:</p>
<ul>
<li>.stop() –این متد صدای که درون کانال مورد نظری در حال پخش است را Stop می کند.</li>
<li>.position – این متد محل جاری صدای در حال      پخش را در کانال مورد نظر ما بر می گرداند.</li>
<li>.soundTransform – برای تغییر صدا مثل ولوم و جا به      جایی بین پخش سمت چپ و راست می باشد.</li>
</ul>
<p>در ادامه ما یک پروژه جدید فلش ایجاد می کنیم و قصد داریم یه فایل صوتی خارجی را بارگزاری و پخش کنیم و با یک دکمه Stop در زمان کلیک بر روی آن عمل پخش را Stop نماییم</p>
<p>در مرحله اول یک دکمه Button از پانل کامپوننت ها Window&gt;Components درگ کرده و در صفحه قرار دهید و instance name آن را stop_btn قرار دهید ، شما می تونید از تب پارامتر های کامپوننت lable دکمه را به Stop تغییر دهید.</p>
<p><img class="alignnone size-full wp-image-397" title="sound_as3_p2_2_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound_as3_p2_2_iflashlord.jpg" alt="" width="464" height="170" /></p>
<p>هم اکنون دکمه ای ایجاد کردیم که در زمان کلیک بر روی آن صدا می بایست Stop شود.<br />
پنل اکشن را باز نمایید و یا بر روی تنها فریم موجود در تایم لاین TimeLine راست کلیک کرد و Actions را انتخاب نمایید تا پانل اکشن نمایش داده شود.</p>
<p>مرحله بعد شروع نوشتن کد ها می باشد طبق کدهایی که در مرحله های قبلی توضیح دادیم کلاس Sound را برای بارگزاری صدا ایجاد می کنیم و صدا را با متد play پخش می کنیم.</p>
<pre class="brush: as3;">
var mySound:Sound = new Sound();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();
</pre>
<p>ما برای کنترل بر روی صدا و اعمال متد Stop همان طور که در اول هم گفتیم می بایست از SoundChannel استفاده کنیم در کدی در زیر می بینید ما این کلاس تعریف کردیم:</p>
<pre class="brush: as3;">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
mySound.play();
</pre>
<p>برای این که کلاس SoundChannel بر روی صدای ما کنترل داشته باشد نیاز به این داریم که پیوندی بین این دو ایجاد نماییم و این کار را با جا به جایی خط آخر کد بالا انجام می دهیم ، در واقع عمل play را به کلاس SoundChannel که در اینجا با myChannel تعریف شده می دهیم.</p>
<pre class="brush: as3;">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();
</pre>
<p>حال به راحتی می توانید با ایجاد رویداد برای دکمه از متد stop مریوط به کلاس SoundChannel استفاده کنیم.</p>
<pre class="brush: as3;">
var mySound:Sound = new Sound();
var myChannel:SoundChannel = new SoundChannel();
mySound.load(new URLRequest(”myFavSong.mp3″));
myChannel = mySound.play();

stop_btn.addEventListener(MouseEvent.CLICK, onClickStop);

function onClickStop(e:MouseEvent):void{
myChannel.stop();
}
</pre>
<p>حال می توانید پروژه را تست نمایید در زمان اجرا به صورت خودکار صدا می بایست پخش شود و با کلیک بر روی دکمه Stop می بایست صداد Stop شود.</p>
<blockquote><p><strong> توصبه می شود ب<a href="../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> را نیز مطالعه نمایید</strong></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%af%d9%88%d9%85/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>پخش صدا در اکشن اسکریپت ۳ &#8211; بخش اول</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-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/</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-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 13:22:15 +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[Flash]]></category>
		<category><![CDATA[linkage]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[play]]></category>
		<category><![CDATA[sound class]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[صدا]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=385</guid>
		<description><![CDATA[در این آموزش به پخش صدا در ActionScript 3.0 می پردازیم و به موارد مثل پخش صدا از فایل های داخلی و خارجی و تغییر ولوم صدا ها می پردازیم ، با این که این به بحث بسیار گسترده میباشد که به دلیل پیشرفته بودن و نیاز داشتن به پیش نیاز به این بحث در [...]]]></description>
			<content:encoded><![CDATA[<p>در این آموزش به پخش صدا در ActionScript 3.0 می پردازیم و به موارد مثل پخش صدا از فایل های داخلی و خارجی و تغییر ولوم صدا ها می پردازیم ، با این که این به بحث بسیار گسترده میباشد که به دلیل پیشرفته بودن و نیاز داشتن به پیش نیاز به این بحث در حال و ادامه آن به صورت پیشرفته انشاء الله در آینده خواهیم پرداخت.</p>
<p>این آموزش به بخش های زیر تقسیم بندی شده است :</p>
<ol>
<li>مقدمه ای بر کار با کلاس های صدا      در اکشن اسکریپت ۳.</li>
<li>پخش یک صدای داخلی.</li>
<li>پخش یک صدای خارجی.</li>
<li>Stop کردن یک صدا.</li>
<li>Pause کردن یک صدا.</li>
<li>تغییر ولوم صدا.</li>
</ol>
<p><span id="more-385"></span><strong>مقدمه ای بر کار با کلاس های صدا در اکشن اسکریپت ۳</strong><strong><br />
</strong>برای کار کردن با صدا ها در ActionScript 3.0 نیاز به همیاری گرفتن از چندین کلاس با هم می باشد. البته بیشتر موارد شبیه به ورژن های قبلی میباشد و کنترل در ورژن جدید بیشتر و با دقت بالاتری انجام می شود، در زیر لیستی از کلاس های مرتبط را با توضیح می آوریم.</p>
<ol>
<li>Sound Class &#8211; این کلاس اصلی مربوط به صدا ها      می باشد ، این صدا برای محل شروع کد مربوطه به صدا می باشد و برای شروع پخش      صدا استفاده می شود.</li>
<li>SoundChannel Class &#8211; یک شی صدا می تواند در کانال های      مختلف پخش شود ، این کلاس امکانات را جهت کانال های صوتی برای کنترل بر روی      یک شی صدا در اختیار ما قرار می دهد که این کنترل ها به صورت ساده شامل امکان stop کردن پخش یک صدا می شود و&#8230;.</li>
<li>SoundTransform Class -این کلاس برای کنترل بر ولوم صدا      و بالانس صدا به سمت چپ و راست استفاده می شود.</li>
<li>SoundMixer Class -این کلاس به صورت عمومی برای فلش      پلیر می باشد که توابع کنترلی بر روی تمامی صدا ها را در اختیار شما قرار می      دهد به صورت مثال ساده ایست کردن تمامی صداهای فلش پلیر و&#8230;</li>
</ol>
<p>سعی شده در مورد موارد بالا در ادامه مطلب نکاتی ذکر شود ولی برای اطلاع کامل از متدهای این کلاس ها بهتر می باشد از راهنمای موجود در نرم افزار فلش استفاده نمایید.</p>
<p><strong>پخش یک صدای داخلی</strong><br />
به صورت عادی فلش فقط فرمت mp3 (البته در فلش پلیر ۱۰ امکانات پشتیبانی جدیدی هم افزوده شده که در مطالب بعدی بحث خواهد شد) را پشتیبانی می کند و به راحتی می توانید این نوع فایل را با استفاده از کلاس صدا Sound class مورد استفاده قرار بدهید ، کلاس Sound توانایی پخش فایل های صوتی داخلی فلش (mp3) را داراست و یا فایل های خارجی (فایل های ی که خارج از برنامه فلش هستند) در ادامه ما به پخش یک فایل که به صورت داخلی (داخل پروژه فلش fla) می باشد می پردازیم و با اکشن اسکریپت آن را فراخوانی و پخش خواهیم نمود.</p>
<p>در مثال زیر نیاز به یک فایل mp3 برای پخش می باشد.</p>
<p>در مرحله اول شما نرم افزار فلش را باز کرده و یک پروژه جدید فلش AS3 باز نمایید و به File&gt;Import&gt;Import to Library رفته و بعد از کلیک فایل مورد نظر خود را از نوع Mp3 را انتخاب کرده و روی open کلیک نمایید ، در زیر تصویر از محل مربوطه برای وارد کردن فایل را مشاهده می کنید.</p>
<p><img title="sound_as3_iflashlord" src="../wp-content/uploads/2010/06/sound_as3_iflashlord.jpg" alt="" width="466" height="117" /></p>
<p>خوب تا اینجا فایل شما وارد فلش شد حال کتابخانه فلش را با دکمه های (Ctrl+L) باز نمایید و صدایی که وارد نمودید را در آن بیابید ، ما می خواهیم فایل را با تعیین کردن مشخصه Linkage برای استفاده در اکشن اسکریپت و فراخوانی آن آماده کنیم ، بر روی فایل صدا در کتابخانه فلش کلیک راست نمایید و گزینه Linkage را اتخاب نمایید تا پنجره مربوطه باز شود ، تیک درون Export for ActionScript را بزنید و نام صدای خود را در بخش Class وارد نمایید به طور مثال MyFavSong را وارد می کنیم و روی OK کلیک کنید ، حال شما پیغام هشدار مبنی بر این که کلاس خورجی ایجاد می شود دریافت خواهید نمود که برای ادامه بر روی OK کلیک می کنیم.<br />
با این کار شما می توانید این فایل صورتی را با کلاس MyfavSong در اکشن اسکریپت فراخوانی نمایید.</p>
<p><img class="alignnone size-full wp-image-389" title="sound2_as3_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/06/sound2_as3_iflashlord.jpg" alt="" width="466" height="262" /></p>
<p>هم اکنون ما یک فایل Mp3 داریم که برای استفاده در اکشن اسکریپت آماده می باشد هم اکنون زمان نوشتن کد می باشد بر روی یکی از فریم های تایم لاین کلیک کرده و از منوی راست کلیک Actions را انتخاب نمایید برای نمایش پانل اکشن. کلید میان بر F9 می باشد.</p>
<p>برای این که ار صدا استفاده کنیم می بایست از new استفاده کرده و کلاس مربوطه را به یک var از نوع Sound بدهیم و حال می توانیم متدهای کلاس رو فراخوانی کرده و مثلا با .play() اقدام به پخش آن نماییم.</p>
<pre class="brush: as3;">
var mySound:Sound = new MyFavSong();
mySound.play();
</pre>
<p>در کلاس Sound با متد .play() می توانید یک صدا را پخش نمایید ، به صورت پیش فرض این متد صدا را از ابتدا پخش می نماید شما با وارد کردن عددی بر حسب میلی ثانیه میتوانید محل شروع را تغییر دهید این مقدار عددی می بایست به عنوان آرگمان متد Play وارد شود.</p>
<p>برای مثال :</p>
<pre class="brush: as3;">
mySound.play(150)
</pre>
<p>برای تست دکمه های (Ctrl+Enter) را بفشارید&#8230;&#8230;<br />
و نتیجه را مشاهده نمایید.</p>
<blockquote><p><strong> توصبه می شود <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>را نیز مطالعه نمایید</strong></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-3-%d8%a8%d8%ae%d8%b4-%d8%a7%d9%88%d9%84/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>استفاده از SetInterval در اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1388/12/%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-setinterval-%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/12/%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-setinterval-%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>Thu, 11 Mar 2010 17:12:05 +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[clearInterval]]></category>
		<category><![CDATA[setInterval]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=224</guid>
		<description><![CDATA[همان طور که می دانید در اکشن ۳ امکانی مثل Timer Class افزوده شده که می توان از آن برای انجام کارهای در بازه های زمانی هم استفاده کرد ولی متد ساده تری نیز وجود دارد (setInterval) که در ایم مطلب قصد توضیح آن را داریم : توضیح درباره setInterval : متدی می باشد که [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p>همان  طور که  می دانید در اکشن ۳ امکانی مثل Timer Class افزوده شده که می توان  از آن برای انجام کارهای در بازه های زمانی هم استفاده کرد ولی متد ساده  تری نیز وجود دارد (setInterval) که در ایم مطلب قصد توضیح آن را داریم :<br />
<strong><br />
توضیح  درباره setInterval  :</strong></p>
<p>متدی می باشد که می تواند یک سری کد را  در بازه زمانی که توسط مقداری بر اساس میلی ثانیه تعیین می شود را اجرا  و  تکرار نماید ، به صورت سفارسی این کدها می بایت در قالب تابعی function  تعرف بشوند و به setInterval  داده شوند.</p>
<p><strong>ساختار کلی setInterval  :</strong></p>
<pre class="brush: as3;">setInterval (myFunction, myTimeLapse);</pre>
<p>myFunction  :  تابعی که شامل کد های مورد نظر شما می باشد<br />
myTimeLapse : مقداری بر  اساس میلی ثانیه milliseconds</p>
<p><span id="more-224"></span></p>
<p>مثالی بسیار ساده ، در زیر به کدی می  پردازیم که مقدار Hello IFLashLord.Com! را هر ۲ ثانیه یک بار اجرا نمایید :</p>
<pre class="brush: as3;">function  helloFun():void {
trace(&quot;Hello IFLashlord.Com!&quot;);
}
setInterval(helloFun,2000);
</pre>
<p>همان  طور که در کد مشاهده می شود با تعریف یک تابع ساده و فراخوانی آن در  setInterval می توانیم آن را در هر بازه زمانی تکرار نماییم. توجه داشته  باشید طبق این کد اولین اجرا تابع helloFun بعد از دو ثانیه انجام خواهد شد  و هر دوثانیه تکرار خواهد شد.</p>
<p>همان طور که مشاهده می کنید نتیجه  این کد تا ابد ادامه خواهد داشت و شاید شما بخواهید در بازه ای از زمان این  عمل قطع شود برای این کار نیز متدی در نظر گرفته شده که در ادامه درباره  آن توضیح می دهیم(clearInterval)</p>
<p><strong>توضیح درباره  clearInterval : </strong><br />
این متد برای ایست نمودن فعالیت یک setInterval می  باشد که البته قبلا مقدار آن در یک متغیر variable وارد شده باشد ، در  صورتی که یک setInterval بدون تعریف Var ایحاد شده باشد امکان دسترسی و  ایست نمودن آن وجود ندارد ، در ادامه در مثالی دقیق تر این موضوع را متوجه  خواهید شد.</p>
<p><strong>ساختار کلی </strong><strong>clearInterval </strong><strong>:</strong></p>
<pre class="brush: as3;">clearInterval(myInterval);</pre>
<p>myInterval  : متغییری شامل یک setInterval</p>
<p><strong>مثال :</strong></p>
<pre class="brush: as3;">function  helloFun():void {
trace(&quot;Hello IFLashlord.Com!&quot;);
}
var  myInterval:uint = setInterval (helloFun, 2000);
clearInterval(myInterval);
</pre>
<p>در  مثال بالا ابتدا setInterval را به متغیر myInterval دادیم تا بتوانیم در  هر جایی از کد آن را توسط clearInterval ایست نماییم ، توجه کنید در کد  بالا عملا قبل از اجرای اولین بار کد عملکرد ایست می شود و  این مثال فقط  برای روشن شدن موضوع قرار داده شده است و شما می توانید در صورت صحیح بودن  شرطی و یا موضوعی دیگر عمل ایست را اجرا نمایید.</p>
<p><strong>مثالی  کاربری : </strong></p>
<p>در این مثال دکمه ای ایجاد می کنیم که در صفحه توسط  setInterval حرکت کند و با کلیک بر روی دکمه توسط clearInterval ایست شود.</p>
<p>ابتدا  یک پروژه جدید AS3 در فلش ایجاد نمایید و از Window&gt;Components  کامپوننت Button را انتخاب کنید و به درون صفحه بکشید و در سمت چپ صفحه  قرار دهید و سپس آن را انتخاب کرده و از پانل Properties Inspector بخش  instance name را برابر my_btn قرار دهید.</p>
<p><a href="http://blog.iflashlord.com/wp-content/uploads/2010/03/properties-inspector_iflashlord.gif" target="_blank"><img class="alignnone size-full wp-image-431" title="properties-inspector_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2010/03/properties-inspector_iflashlord.gif" alt="" width="471" height="113" /></a></p>
<p>و حال وارد پانل اکشن شوید ، در اینجا ما  تابعی به نام moveBtn ایجاد می کنیم و در آن مقدار مختصات x را افزایش می  دهیم که با این کار هر بار تابع اجرا شود به مختصات فعلی آن ۱۰ واحد افزوده  خواهد شد ، به کد دقت نمایید :</p>
<pre class="brush: as3;">function moveBtn():void {
my_btn.x  += 10;
}</pre>
<p>و حال کد نهایی را می  نویسم :</p>
<pre class="brush: as3;">function  moveBtn():void {
my_btn.x += 10;
}
var  myInterval:uint = setInterval (moveBtn, 500);
my_btn.addEventListener(MouseEvent.CLICK,  stopMe);
function stopMe(e:MouseEvent):void{
clearInterval(myInterval);
}</pre>
<p>در  کد بالا ابتدا تابعی برای حرکت ایجاد شد و در مرحله بعد setIntervar ایجاد  شد و در مرحله بعد رویداد کلیک به دکمه افزوده شد که به تایع stopMe اشاره  داد و در این تابع از clearInterval استفاده شد و عمل setInterval  ایست  شد.</p>
<p>موفق و پیروز باشید <img src='http://blog.iflashlord.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1388/12/%d8%a7%d8%b3%d8%aa%d9%81%d8%a7%d8%af%d9%87-%d8%a7%d8%b2-setinterval-%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>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[MouseEvent]]></category>
		<category><![CDATA[navigateToURL]]></category>
		<category><![CDATA[URLRequest]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=190</guid>
		<description><![CDATA[یکی از مواردی که به احتمال زیاد هر فردی نیاز خواهد داشت افزودن لینک به دکمه و یا بخشی از فلش می باشد این کار در اکشن اسکریپت ۳ متفاوت از اکشن اسکریپت ۲ می باشد در نسخه جدید از فرمان navigateToURL() استفاده می شود ، در ادامه استفاده از آن را توضیح خواهیم داد&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p style="text-align: right;">یکی از مواردی که به احتمال زیاد هر فردی نیاز خواهد داشت افزودن لینک  به دکمه و یا بخشی از فلش می باشد این کار در اکشن اسکریپت ۳  متفاوت از  اکشن اسکریپت ۲ می باشد در نسخه جدید از فرمان navigateToURL() استفاده می  شود ، در ادامه استفاده از آن را توضیح خواهیم داد&#8230;</p>
<p><strong>ساختار کلی  :</strong></p>
<pre class="brush: as3;">
navigateToURL(myURL,  window);
</pre>
<p><strong>myURL :</strong> آدرس صفحه شما  می باشد که البته می بایست توسط کلاس URLRequest تعریف شده باشد.<br />
<strong>window   :</strong> نوع باز شدن لینک را مشخص می کند (مثلا _blank به صفحه جدید اشاره  می کند.</p>
<p><strong>در ادامه  به مثالی ساده در این مورد می پردازیم :<br />
<span id="more-190"></span></strong></p>
<pre class="brush: as3;">
var  myURL:URLRequest = new URLRequest(&quot;http:///www.iflashlord.com/&quot;);
navigateToURL(myURL,  &quot;_blank&quot;);
</pre>
<p>در کد بالا ابتدا myURL را از  نوع URLRequest تعریف می کنیم و سپس کلاس URLRequest را ایجاد و مقدار  آدرس صفحه را به عنوان آرگمان آن وارد می کنیم ، تا اینجاد درخواست ایجاد  شد ، این درخواست را به عنوان اولین آرگمان navigateToURL استفاده می کنیم و  دومین آرگمان هم نوع باز شدن که می تواند ، _self , _top , یا نام فریمی  در اچ تی ام ال که می خواهید لینک درون آن فریم فراخوانی شود مقدار دهی  کنید.</p>
<p><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>و سپس از مسیر Window&gt;Component پنل کامپوننت را  انتخاب کنید و سپس بخش User Interface را باز نمایید و بعد Button را با  موس گرفته و بر روی صفحه بکشید و سپس آن را انتخاب کرده و سپس از مسیر  Windows&gt;Components Inspector مقدار Open Link را برای Label وارد  نمایید.</p>
<p><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><img src="http://www.republicofcode.com/tutorials/flash/as3link/instance-name.gif" border="0" alt="" /></p>
<p>حال برای نوشتن کد آماده می شویم فریم اول را انتخاب و  راست کلیک نمایید و Actions را انتخاب نمایید ، پنل اکشن باز می شود.</p>
<p>برای  رویداد دکمه ایجاد شده در زمان کلیک می بایست از MouseEvent.CLICK استفاده  کنید و یک تابع را توسط آن فرخوانی کنید در این مثال onClick</p>
<p><strong>کد  مورد نظر : </strong></p>
<pre class="brush: as3;">
my_btn.addEventListener(MouseEvent.CLICK,  onClick);
function onClick(e:MouseEvent):void{}
</pre>
<p>و حال درون تابع ایجاد شده از کد navigateToURL استفاده می  کنیم و کد نهایی را به صورت زیر می نویسیم :</p>
<pre class="brush: as3;">
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>حالا  می تونید به راحتی با کلیدهای 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>0</slash:comments>
		</item>
		<item>
		<title>حذف فاصله های موجود در یک نوشته توسط اکشن اسکریپت ۳</title>
		<link>http://blog.iflashlord.com/1388/11/%d8%ad%d8%b0%d9%81-%d9%81%d8%a7%d8%b5%d9%84%d9%87-%d9%87%d8%a7%db%8c-%d9%85%d9%88%d8%ac%d9%88%d8%af-%d8%af%d8%b1-%db%8c%da%a9-%d9%86%d9%88%d8%b4%d8%aa%d9%87-%d8%aa%d9%88%d8%b3%d8%b7-%d8%a7%da%a9%d8%b4/</link>
		<comments>http://blog.iflashlord.com/1388/11/%d8%ad%d8%b0%d9%81-%d9%81%d8%a7%d8%b5%d9%84%d9%87-%d9%87%d8%a7%db%8c-%d9%85%d9%88%d8%ac%d9%88%d8%af-%d8%af%d8%b1-%db%8c%da%a9-%d9%86%d9%88%d8%b4%d8%aa%d9%87-%d8%aa%d9%88%d8%b3%d8%b7-%d8%a7%da%a9%d8%b4/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 22:48:41 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[ادوبی فلش]]></category>
		<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[RegEx]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=160</guid>
		<description><![CDATA[برای حذف فاصله های موجود در یک نوشته توسط اکشن اسکریپت ۳ یکی از بهترین راه ها استفاده از عبارات با قائده می باشد ، در زیر با استفاده از متد replace که برای String ها در AS3 وجود دارد و با استفاده از RegEx و جا به جایی فاصله های با مقدار خالی &#8220;&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;">برای حذف فاصله های موجود در یک نوشته توسط اکشن اسکریپت ۳  یکی از بهترین راه ها استفاده از عبارات با قائده می باشد ، در زیر با استفاده از متد replace که برای String ها در AS3 وجود دارد و با استفاده از RegEx و جا به جایی فاصله های با مقدار خالی &#8220;&#8221; تمامی فاصله های موجود در String خودمون رو حذف می کنیم  ، در زیر به کد مثال برای این موضوع دقت نمایید :</p>
<pre class="brush: as3; highlight: [3];">
var oldString = &quot; iflash lord &quot;;
trace(oldString); //retrun  iflash lord
var newString:String = String(oldString.replace( /\s/g, &quot;&quot; ));
trace(newString); //return iflashlord (بدون هیچ فاصله ای)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1388/11/%d8%ad%d8%b0%d9%81-%d9%81%d8%a7%d8%b5%d9%84%d9%87-%d9%87%d8%a7%db%8c-%d9%85%d9%88%d8%ac%d9%88%d8%af-%d8%af%d8%b1-%db%8c%da%a9-%d9%86%d9%88%d8%b4%d8%aa%d9%87-%d8%aa%d9%88%d8%b3%d8%b7-%d8%a7%da%a9%d8%b4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Flash CS5 Feature</title>
		<link>http://blog.iflashlord.com/1388/11/adobe-flash-cs5-feature/</link>
		<comments>http://blog.iflashlord.com/1388/11/adobe-flash-cs5-feature/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 03:33:10 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[عمومی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[فلش]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=130</guid>
		<description><![CDATA[خروجی پک های IPhone &#8211; در این نسخه شما امکان دارید توسط اکشن اسکریپت ۳ پروژه فلش خود مثل یک نرم افزار برای آی فون خروجی بگیرید و از آن بر روی گوشی آی فون استفاده کنید ( که این موضوع تحولی ۱۰۰ درصد عظیم در این عرصه ایجاد خواهد کرد) اگر می خواهید در [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: right;"><strong>خروجی پک های IPhone </strong> &#8211; در این نسخه شما امکان دارید توسط اکشن اسکریپت ۳ پروژه فلش خود مثل یک نرم افزار برای آی فون خروجی بگیرید و از آن بر روی گوشی آی فون استفاده کنید ( که این موضوع تحولی ۱۰۰ درصد عظیم در این عرصه ایجاد خواهد کرد)</p>
<p><em> اگر می خواهید در این مورد بیشتر بدانید :</em></p>
<p><strong>http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/</strong></p>
<p><strong>امکانات جدید برای متون با فریم ورک Text Layout </strong> &#8211; همان طور که می دانید این فریم ورک مشکل راست به چپ نوشتن و حتی فراتر از آن را حل کرده که با ایجاد امکانات بیشتر برای کنترل متون سطر و ستون ها بلاک های متنی و &#8230; در این نسخه فریم ورک می باشد</p>
<p><strong>فایل های FLA بر مبنای XML </strong>- سیستم برای مدیریت بر منابع پروژه و مناسب برای فعالیت های گروهی و کار گروهی بر روی فایل ها.</p>
<p><strong>کنترل بیشتر بر روی کد ها </strong>- امکان تزریق (وارد کردن) کد های پیش ساخته به پروژه با قابلیت توسعه پویا و ساده تر کردن یادگیری اکشن اسکریپت ۳.</p>
<p><strong>یکپارچگی با Flash Builder -</strong> که همان FLEX می باشد و شما می توانید شما Flash Builder را به عنوان ویرایش گر اکشن اسکریپت خود استفاده کنید.</p>
<p><strong>بهبود ویرایشگر اکشن اسکریپت</strong> &#8211; بهبود یافتن بخش کلاس ها و وارد کردن خودکار هر کلاسی که استفاده می شود و راهنمای کامل تر برای هر کد.<br />
اطلاعات بیشتر در :<br />
<strong>http://labs.adobe.com/technologies/flashcs5</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iflashlord.com/1388/11/adobe-flash-cs5-feature/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Display List و اکشن اسکریپت ۳</title>
		<link>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/</link>
		<comments>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/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 19:32:54 +0000</pubDate>
		<dc:creator>بهروز پولادرگ</dc:creator>
				<category><![CDATA[اکشن اسکریپت]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[addChild]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Display List]]></category>
		<category><![CDATA[Display Object]]></category>
		<category><![CDATA[getChildAt]]></category>
		<category><![CDATA[getChildIndex]]></category>
		<category><![CDATA[MovieClip]]></category>
		<category><![CDATA[numChildren]]></category>
		<category><![CDATA[removeChild]]></category>
		<category><![CDATA[Sprites]]></category>
		<category><![CDATA[TextField]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=116</guid>
		<description><![CDATA[Display List چیست ؟ Display List لیستی از تمامی اجزاء که دون فلش هستند ، همه چیز هایی که دیده می شوند ، همان کارهایی که می توانید توی نرم افزار فلش انجام بدید و سطوح بالا و پایین بودن اشاء رو مشخص کنید و حذف کنید و&#8230; در این مقاله بیشتر به .addChild() و [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Display List چیست ؟</strong><br />
Display List لیستی از تمامی اجزاء که دون فلش هستند ، همه چیز هایی که دیده می شوند ، همان کارهایی که می توانید توی نرم افزار فلش انجام بدید و سطوح بالا و پایین بودن اشاء رو مشخص کنید و حذف کنید و&#8230;<br />
در این مقاله بیشتر به .addChild() و .removeChild() پرداخته می شود.</p>
<p><strong>استفاده ابتدایی از Display List :</strong><br />
ساده ترین استفاده از Display List افزودن یک شی به صفحه و حذف آن می باشد که به ترتیب توسط متدهای .addChild() و .removeChild() انجام می شود.</p>
<p><em>یک مثال ساده برای استفاده addChild </em></p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var myText:TextField = new TextField();<br />
myText.text = &#8220;Hello PCSEVEN!&#8221;;<br />
addChild(myText);<!--c2--></div>
<p><!--ec2--></p>
<p>در کد بالا ابتدا یک شی از نوع TextField ایجاد کردیم و سپس مقدار Hello PCSEVEN! رو به اون دادیم ، تا اینجای کار هیچ تغییری در فلش ایجاد نمی کند و تمامی این موارد می بایست توسط addChild به Display List و یا لیست اشاء نمایشی فلش افزوده شود ، آرگمان وردی addChild مقدار نام شی مورد نظر ما می باشد.</p>
<p>حال فرض می کنیم می خواهیم این شی رو حذف کنیم به صورت زیر از removeChild استفاده می کنیم :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->removeChild(myText);<!--c2--></div>
<p><!--ec2--></p>
<p><strong>سلسله مراتب در Display List :</strong></p>
<p>اگر شما چندین بار از addChild استفاده کنید متوجه می شود که اشاء ی که به صفحه افزوده می شوند دارای سلسله مراتبی هستند و در هر بار افزودن در سطح های مختلفی قرار می گیرند، که باعث ایجاد پوشش و دیده نشدن بخشی از اشایی قبلی نیز می شود ، برای روشن تر شدن این موضوع به مثال زیر دقت نمایید :</p>
<p><span id="more-116"></span></p>
<p>در این مثال ما  سه شی که در کتابخانه فلش قبلا ایجاد کرده ایم را فراخوانی می کنیم و به Display List اضافه می کنیم :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var myTriangle:TriangleShape = new TriangleShape();<br />
var myCircle:CircleShape = new CircleShape();<br />
var myStar:StarShape = new StarShape()</div>
<div dir="ltr">addChild(myTriangle);</div>
<div dir="ltr">addChild(myCircle);</div>
<div dir="ltr">addChild(myStar);</div>
<p><!--ec2--></p>
<p>ما برای افزودن هر شی یک باز از addChild استفاده می کنیم، به این نکته توجه داشته باشید که ترتیب استفاده از addChild در ترتیب قرار گیری سطوح نقش مستقیم دارد و تعیین کننده آن می باشد<br />
این مثال را با چند بار جا به جا کردن addChild ها انجام بدهید تا این موضوع برایتان روشن شود.<br />
<em><br />
توجه داشته باشید TriangleShape و CircleShape و StarShape جزو کلاس های ثابت نرم لفزار فلش نیستند و شما خودتان می بایست اونها رو بسازید و درون کتابخانه فلش نام گزاری کنید تا بتوان آنها را درون اکشن اسکریپت فرا خوانی کرد ، شما می توانید از هر شکلی برای ایجاد آنها به دلخواه خود استفاده کنید.<br />
</em></p>
<p><strong>استفاده از متد addChildAt و امکان افزودن شی در سطحی خواص :</strong></p>
<p>برخلاف addChild متد addChildAt دارای دو آرگمان ورودی می باشد که به صورت زیر استفاده می شود.</p>
<p>ساختار کلی addChildAt :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->addChildAt(myObject,indexNumber)<!--c2--></div>
<p><!--ec2--></p>
<p>myObject : نام شی مورد نظر برای افرودن<br />
indexNumber : سطحی که می خواهید شی شما در آن افزوده شود (مقداری عددی ، شروع از صفر)</p>
<p>به عنوان مثال ما سه شی ایجاد می کنیم و دو عدد از آنها را به صورت معمول با استفاده از addChild به صفحه اضافه می کنیم :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var myTriangle:TriangleShape = new TriangleShape();<br />
var myCircle:CircleShape = new CircleShape();<br />
var myStar:StarShape = new StarShape()</div>
<div dir="ltr">addChild(myTriangle);</div>
<div dir="ltr">addChild(myCircle);<!--c2--></div>
<p><!--ec2--></p>
<p><img id="--ipb-img-resizer-3" src="http://www.republicofcode.com/tutorials/flash/as3displaylist/displaylist_addChildat.gif" border="0" alt="" width="439" height="222" /></p>
<p>حال می خواهیم شی سوم را جوری اضافه کنیم که زیر این دو شی قرار بگیرد برای این کار کد را به صورت زیر گسترش می دهیم :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var myTriangle:TriangleShape = new TriangleShape();<br />
var myCircle:CircleShape = new CircleShape();<br />
var myStar:StarShape = new StarShape()</div>
<div dir="ltr">addChild(myTriangle);</div>
<div dir="ltr">addChild(myCircle);</div>
<div dir="ltr">addChildAt(myStar,0);<!--c2--></div>
<p><!--ec2--></p>
<p>در بخش addChildAt(myStar,0); ما شی myStar و یا همان ستاره را در سطح ۰ افزودیم این کار باعث افزوده شدن در پایین ترین سطح می شود<br />
حال اگر باز هم شی دیگر را به سط ۰ اضافه کنیم باعث می شود به پایین تر ین سطح برود و دیگر سطوح نیز به صورت خودکار تغییر کند</p>
<p><img id="--ipb-img-resizer-2" src="http://www.republicofcode.com/tutorials/flash/as3displaylist/displaylist_addChildat2.gif" border="0" alt="" width="445" height="225" /></p>
<p>در این نسخه از اکشن اسکریپت بر خلاف نسخه های قبلی که صرف نظر از تعداد سطوح امکان مقدار دهی به سطح ها وحود داشت ، اگر شما به طور مثال در کد بالا مقدار سطح را ۱۰ وارد نمایید با پیغام خطا رو به رو خواهید شد ، زیرا این مقدار خارج از Display List می باشد ، می بایست سطح خالی برای افزوده شدن وجود داشته باشد.</p>
<p><!--sizeo:4--><span style="font-size: 14pt; line-height: 100%;"><!--/sizeo--><strong>حذف کردن اشاء با استفاده از متد removeChildAt()</strong><!--sizec--></span></p>
<p><!--/sizec-->حال به موضوع حذف اشاء از Display List می رسیم ، برای این کار از متد removeChildAt() استفاده می شه ، البته برای حذف بر اساس سطح در این روش شما با دادن عدد سطح مورد نظر شی ی که در آن موجود می باشد را حذف می کنید (عمل حذف کردن در پروژه ها کاربرد بسیاری دارد که البته انشاء الله در مبحث های آینده به فواید و استفاده آن خواهیم پرداخت)مثالی از استفاده این روش :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var myTriangle:TriangleShape = new TriangleShape();<br />
var myCircle:CircleShape = new CircleShape();<br />
var myStar:StarShape = new StarShape()</div>
<div dir="ltr">addChild(myTriangle);</div>
<div dir="ltr">addChild(myCircle);</div>
<div dir="ltr">addChild(myStar);</div>
<div dir="ltr">removeChildAt(1);<!--c2--></div>
<p><!--ec2-->توجه داشته باشید شما فقط می توانید عددی وارد نمایید که شی آن موجود باشد . نکته مهم دیگر آن است که با حذف سطح شی شماره ۱ کد سطح های جا به جا می شود.در این مثال این موضوع به این مفهوم می باشد که myStar در اندیس ۱ قرار می گیرد و اندیس (index) مربوط به ۲ دیگر موجود نمی باشد.تصویری برای نمایش نتیجه اجرای کد بالا :<img src="http://www.republicofcode.com/tutorials/flash/as3displaylist/displaylist_removeChildAt.gif" border="0" alt="" width="451" height="228" /></p>
<p><!--sizeo:4--><span style="font-size: 14pt; line-height: 100%;"><!--/sizeo--><strong>جا به جایی اندیس اشیاء در Display List</strong><!--sizec--></span></p>
<p><!--/sizec-->شما توسط متد swapChildren می توانید اشایی که قبلا به Display List افزوده اید را جا به جا کنید این متد دو آرگمان دارد که با نام اشایی که می خواهید جا به جا شود مقدار دهی می شود ، این عمل جابا به جایی بدون تاثیر بر دیگر اشائ انجام می شود و فقط دو شی را جا به جا می کند ، در زیر به مثال در این مورد می پردازیم :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var myTriangle:TriangleShape = new TriangleShape();<br />
var myCircle:CircleShape = new CircleShape();<br />
var myStar:StarShape = new StarShape()</div>
<div dir="ltr">addChild(myTriangle);</div>
<div dir="ltr">addChild(myCircle);</div>
<div dir="ltr">addChild(myStar);</div>
<div dir="ltr">swapChildren(myStar, myCircle);<!--c2--></div>
<p><!--ec2-->در کد بالا جای myStar با myCircle عوض می شود (در واقع جای ستاره با دایره ) که نتیجه را می توانید با مشاهده تصویر زیر بهتر درک نمایید :<img src="http://www.republicofcode.com/tutorials/flash/as3displaylist/displalist_swapChildren.gif" border="0" alt="" width="485" height="246" /><strong><!--sizeo:4--><span style="font-size: 14pt; line-height: 100%;"><!--/sizeo-->دیگر موارد مورد نیاز در DisplayList <!--sizec--></span><!--/sizec--></strong>DisplayList دارای متد و روش های بسیاری بوده که اشاره دقیق آنها را به آینده و در مثال های کاربردی توضیح خواهیم داد در زیر به تعدادی از متد که کاربرد زیادی دارند می پردازیم ، البته با توجه به نام آنها به راحتی نوع کار آنها قابل فهم خواهد بود&#8230;.</p>
<ol type="1">
<li><strong><em>.getChildIndex(objectName)</em></strong> &#8211; با استفاده از این متد می توانید به کد اندیس index یک شی دسترسی پیدا کنید که objectName نام شی یا همان instance name شی مورد نظر شما می باشد ، با این کار می توانید به شی مورد نظر اشاره کنید و روی آن عملیات های مورد نظر خود را انجام دهید..</li>
<li><strong><em>.getChildAt(indexPosition)</em></strong> &#8211; با این روش می توانید به یک شی که فقط اندیس آن را می دانید اشاره کنید و روی آن عملیات های مورد نظر خود را انجام دهید.</li>
<li><em>.numChildren</em> &#8211; با این خاصیت شما می توانید به تعداد اشاء موجود در DisplayList دسترسی پیدا کنید.</li>
</ol>
<p><!--sizeo:4--><span style="font-size: 14pt; line-height: 100%;"><!--/sizeo--><strong>توضیحات پایانی :</strong><!--sizec--></span></p>
<p><!--/sizec-->باید به این نکته توجه داشته باشید که فقط Display Object ها را می توان به DisplayList افروز و این به این معنی می باشد که اشاء از نوع movieClips, Sprites, TextFields, Videos, Bitmaps, و&#8230; را می توان به DisplayList اضافه نمود و شما نمی توانید اشاء غیر قابل نمایش (غیر بصری) مثلا یه مقدار و یا یک عدد را به تنهای به Display List اصافه کنید.بعضی از Display Object ها نیز از نوع Display Object Containers هستند و این به این معنی م باشد که درون این اشاء نیز شما می توانید شی جدیدی اضافه نمایید برای مثال MovieClips , Sprites ها&#8230;در زیر به مثالی اشاره می کنیم که در آن ابتدا یک MovieClip ایجاد می کنیم و بعد دو فیلد متنی تعریف می کنیم و این دو فیلد را درون MovieClip خود اضافه می کنیم (توسط addChild) و در مرحله بعد به این فیلد مقدار دهی می کنیم و در آخر MovieClip را به Display List اضافه می کنیم ، این کار بعث می شود که MovieClipی شامل دو فیلد متنی به صفحه اضافه شود ، به مثال دقت نمایید :</p>
<p><!--c1--></p>
<div dir="ltr"><!--ec1-->var container_mc:MovieClip = new MovieClip();<br />
var text1_txt:TextField = new TextField();<br />
var text2_txt:TextField = new TextField();</div>
<div dir="ltr">container_mc.addChild(text1_txt);</div>
<div dir="ltr">container_mc.addChild(text2_txt);</div>
<div dir="ltr">text1_txt.text = &#8220;This text field will not appear on the screen-PCSEVEN&#8221;;</div>
<div dir="ltr">text2_txt.text = &#8220;Except if we add its container to the main timeline display list-PCSEVEN&#8221;;</div>
<div dir="ltr">addChild(container_mc);<!--c2--></div>
<p><!--ec2-->امیداورم تا اینجا تونسته باشم مفهوم های جدید در اکشن اسکریپت ۳ رو به خوبی برسونم ، در صورتی که سوالی بود در همین جا مطرح نمایید &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>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/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
