<?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; numChildren</title>
	<atom:link href="http://blog.iflashlord.com/tag/numchildren/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>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[برنامه نویسی]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[addChild]]></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[Object]]></category>
		<category><![CDATA[removeChild]]></category>
		<category><![CDATA[seekbar فلش]]></category>
		<category><![CDATA[sprite فلش]]></category>
		<category><![CDATA[sprite فلش ایجاد]]></category>
		<category><![CDATA[Sprites]]></category>
		<category><![CDATA[testfield ساخت]]></category>
		<category><![CDATA[text field فلش]]></category>
		<category><![CDATA[TextField]]></category>
		<category><![CDATA[textfield ساخت در فلش]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اکشن اسکریپت 3]]></category>
		<category><![CDATA[برچسب list درxml]]></category>
		<category><![CDATA[توضیحی در مورد فلشcs4]]></category>
		<category><![CDATA[عوض کردن عمق در اکشن اسکریپت]]></category>
		<category><![CDATA[فلش پلیر بخش نمیکند]]></category>
		<category><![CDATA[متن]]></category>
		<category><![CDATA[مثال ساده اکشن اسکریپت 3]]></category>
		<category><![CDATA[نرم افزار]]></category>

		<guid isPermaLink="false">http://blog.iflashlord.com/?p=116</guid>
		<description><![CDATA[Display List چیست ؟ Display List لیستی از تمامی اجزاء که دون فلش هستند ، همه چیز هایی که دیده می شوند ، همان کارهایی که می توانید توی نرم افزار فلش انجام بدید و سطوح بالا و پایین بودن اشاء رو مشخص کنید و حذف کنید و&#8230; در این مقاله بیشتر به .addChild() و [...]]]></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="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>Display List چیست ؟</strong><br />
Display List لیستی از تمامی اجزاء که دون فلش هستند ، همه چیز هایی که دیده می شوند ، همان کارهایی که می توانید توی نرم افزار فلش انجام بدید و سطوح بالا و پایین بودن اشاء رو مشخص کنید و حذف کنید و&#8230;<br />
در این مقاله بیشتر به .addChild() و .removeChild() پرداخته می شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>استفاده ابتدایی از Display List :</strong><br />
ساده ترین استفاده از Display List افزودن یک شی به صفحه و حذف آن می باشد که به ترتیب توسط متدهای .addChild() و .removeChild() انجام می شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><em>یک مثال ساده برای استفاده addChild </em></p>
<pre class="brush: as3; title: ; notranslate">
var myText:TextField = new TextField();
myText.text = &quot;Hello IFLashLord!&quot;;
addChild(myText);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در کد بالا ابتدا یک شی از نوع TextField ایجاد کردیم و سپس مقدار Hello IFLashLord! رو به اون دادیم ، تا اینجای کار هیچ تغییری در فلش ایجاد نمی کند و تمامی این موارد می بایست توسط addChild به Display List و یا لیست اشاء نمایشی فلش افزوده شود ، آرگمان وردی addChild مقدار نام شی مورد نظر ما می باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال فرض می کنیم می خواهیم این شی رو حذف کنیم به صورت زیر از removeChild استفاده می کنیم :</p>
<pre class="brush: as3; title: ; notranslate">removeChild(myText);</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>سلسله مراتب در Display List :</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">اگر شما چندین بار از addChild استفاده کنید متوجه می شود که اشاء ی که به صفحه افزوده می شوند دارای سلسله مراتبی هستند و در هر بار افزودن در سطح های مختلفی قرار می گیرند، که باعث ایجاد پوشش و دیده نشدن بخشی از اشایی قبلی نیز می شود ، برای روشن تر شدن این موضوع به مثال زیر دقت نمایید :</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span id="more-116"></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این مثال ما سه شی که در کتابخانه فلش قبلا ایجاد کرده ایم را فراخوانی می کنیم و به Display List اضافه می کنیم :</p>
<pre class="brush: as3; title: ; notranslate">
var myTriangle:TriangleShape = new TriangleShape();
var myCircle:CircleShape = new CircleShape();
var myStar:StarShape = new StarShape();
addChild(myTriangle);
addChild(myCircle);
addChild(myStar);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ما برای افزودن هر شی یک باز از addChild استفاده می کنیم، به این نکته توجه داشته باشید که ترتیب استفاده از addChild در ترتیب قرار گیری سطوح نقش مستقیم دارد و تعیین کننده آن می باشد<br />
این مثال را با چند بار جا به جا کردن addChild ها انجام بدهید تا این موضوع برایتان روشن شود.<br />
<em><br />
توجه داشته باشید TriangleShape و CircleShape و StarShape جزو کلاس های ثابت نرم لفزار فلش نیستند و شما خودتان می بایست اونها رو بسازید و درون کتابخانه فلش نام گزاری کنید تا بتوان آنها را درون اکشن اسکریپت فرا خوانی کرد ، شما می توانید از هر شکلی برای ایجاد آنها به دلخواه خود استفاده کنید.<br />
</em></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>استفاده از متد addChildAt و امکان افزودن شی در سطحی خواص :</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">برخلاف addChild متد addChildAt دارای دو آرگمان ورودی می باشد که به صورت زیر استفاده می شود.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">ساختار کلی addChildAt :</p>
<pre class="brush: as3; title: ; notranslate">addChildAt(myObject,indexNumber);</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">myObject : نام شی مورد نظر برای افرودن<br />
indexNumber : سطحی که می خواهید شی شما در آن افزوده شود (مقداری عددی ، شروع از صفر)</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">به عنوان مثال ما سه شی ایجاد می کنیم و دو عدد از آنها را به صورت معمول با استفاده از addChild به صفحه اضافه می کنیم :</p>
<pre class="brush: as3; title: ; notranslate">
var myTriangle:TriangleShape = new TriangleShape();
var myCircle:CircleShape = new CircleShape();
var myStar:StarShape = new StarShape();
addChild(myTriangle);
addChild(myCircle);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1730" title="displaylist_addChildat_1_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2009/11/displaylist_addChildat_1_iflashlord.gif" alt="" width="443" height="224" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال می خواهیم شی سوم را جوری اضافه کنیم که زیر این دو شی قرار بگیرد برای این کار کد را به صورت زیر گسترش می دهیم :</p>
<pre class="brush: as3; title: ; notranslate">
var myTriangle:TriangleShape = new TriangleShape();
var myCircle:CircleShape = new CircleShape();
var myStar:StarShape = new StarShape();
addChild(myTriangle);
addChild(myCircle);
addChildAt(myStar,0);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در بخش addChildAt(myStar,0); ما شی myStar و یا همان ستاره را در سطح ۰ افزودیم این کار باعث افزوده شدن در پایین ترین سطح می شود<br />
حال اگر باز هم شی دیگر را به سط ۰ اضافه کنیم باعث می شود به پایین تر ین سطح برود و دیگر سطوح نیز به صورت خودکار تغییر کند</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1731" title="displaylist_addChildat_2_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2009/11/displaylist_addChildat_2_iflashlord.gif" alt="" width="443" height="224" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در این نسخه از اکشن اسکریپت بر خلاف نسخه های قبلی که صرف نظر از تعداد سطوح امکان مقدار دهی به سطح ها وحود داشت ، اگر شما به طور مثال در کد بالا مقدار سطح را ۱۰ وارد نمایید با پیغام خطا رو به رو خواهید شد ، زیرا این مقدار خارج از Display List می باشد ، می بایست سطح خالی برای افزوده شدن وجود داشته باشد.</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><span style="font-size: 14pt; line-height: 100%;"><strong>حذف کردن اشاء با استفاده از متد removeChildAt()</strong></span></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">حال به موضوع حذف اشاء از Display List می رسیم ، برای این کار از متد removeChildAt() استفاده می شه ، البته برای حذف بر اساس سطح در این روش شما با دادن عدد سطح مورد نظر شی ی که در آن موجود می باشد را حذف می کنید (عمل حذف کردن در پروژه ها کاربرد بسیاری دارد که البته انشاء الله در مبحث های آینده به فواید و استفاده آن خواهیم پرداخت)مثالی از استفاده این روش :</p>
<pre class="brush: as3; title: ; notranslate">
var myTriangle:TriangleShape = new TriangleShape();
var myCircle:CircleShape = new CircleShape();
var myStar:StarShape = new StarShape();
addChild(myTriangle);
addChild(myCircle);
addChild(myStar);
removeChildAt(1);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">توجه داشته باشید شما فقط می توانید عددی وارد نمایید که شی آن موجود باشد . نکته مهم دیگر آن است که با حذف سطح شی شماره ۱ کد سطح های جا به جا می شود.در این مثال این موضوع به این مفهوم می باشد که myStar در اندیس ۱ قرار می گیرد و اندیس (index) مربوط به ۲ دیگر موجود نمی باشد.تصویری برای نمایش نتیجه اجرای کد بالا :</p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><img class="alignnone size-full wp-image-1732" title="displaylist_removeChildAt_3_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2009/11/displaylist_removeChildAt_3_iflashlord.gif" alt="" width="443" height="224" /></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>جا به جایی اندیس اشیاء در Display List</strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">شما توسط متد swapChildren می توانید اشایی که قبلا به Display List افزوده اید را جا به جا کنید این متد دو آرگمان دارد که با نام اشایی که می خواهید جا به جا شود مقدار دهی می شود ، این عمل جابا به جایی بدون تاثیر بر دیگر اشائ انجام می شود و فقط دو شی را جا به جا می کند ، در زیر به مثال در این مورد می پردازیم :</p>
<pre class="brush: as3; title: ; notranslate">
var myTriangle:TriangleShape = new TriangleShape();
var myCircle:CircleShape = new CircleShape();
var myStar:StarShape = new StarShape();
addChild(myTriangle);
addChild(myCircle);
addChild(myStar);
swapChildren(myStar, myCircle);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">در کد بالا جای myStar با myCircle عوض می شود (در واقع جای ستاره با دایره ) که نتیجه را می توانید با مشاهده تصویر زیر بهتر درک نمایید :<img class="alignnone size-full wp-image-1733" title="displalist_swapChildren_4_iflashlord" src="http://blog.iflashlord.com/wp-content/uploads/2009/11/displalist_swapChildren_4_iflashlord.gif" alt="" width="443" height="224" /><strong></strong></p>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right"><strong>دیگر موارد مورد نیاز در DisplayList </strong>دارای متد و روش های بسیاری بوده که اشاره دقیق آنها را به آینده و در مثال های کاربردی توضیح خواهیم داد در زیر به تعدادی از متد که کاربرد زیادی دارند می پردازیم ، البته با توجه به نام آنها به راحتی نوع کار آنها قابل فهم خواهد بود&#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 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">باید به این نکته توجه داشته باشید که فقط 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>
<pre class="brush: as3; title: ; notranslate">
var container_mc:MovieClip = new MovieClip();
var text1_txt:TextField = new TextField();
var text2_txt:TextField = new TextField();
container_mc.addChild(text1_txt);
container_mc.addChild(text2_txt);
text1_txt.text = &quot;This text field will not appear on the screen-IFLashlord&quot;;
text2_txt.text = &quot;Except if we add its container to the main timeline display list-IFLashlord&quot;;
addChild(container_mc);
</pre>
<p style="font-family: Tahoma,Verdana,sans-serif; direction: rtl;" align="right">&nbsp;</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>

<!-- 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/5 queries in 0.004 seconds using disk: basic
Object Caching 1064/1064 objects using disk: basic

Served from: blog.iflashlord.com @ 2012-02-09 16:38:51 -->
