آیا امکان تغییر عمق یک شی از کلاس دیگر وجود ندارد؟

سلام من شی down_strip را در کلاسی دیگر درست کردم و شی textWindow از این کلاس ارث می برد یعنی اگر من با کدی شبیه به textWindow.down_strip.x مثلا می توانم در سایر کلاسهای پروژه ام موقعیت x این شی را تغییر بدهم ولی وقتی می خواهم عمق این شی را تغییر بدهم با این کد :

[PHPS]
setChildIndex(textWindow.down_strip.numChildren-1);

[/PHPS]

که به ارور زیر بر می خورم.
I:\AAAA Design Flash\DVD Omrani 93\MultiMedia\com\Main.as, Line 190 1067: Implicit coercion of a value of type Number to an unrelated type flash.display:DisplayObject.
I:\AAAA Design Flash\DVD Omrani 93\MultiMedia\com\Main.as, Line 190 1136: Incorrect number of arguments. Expected 2.



علتش چیه؟ آیا نمیشه از یک کلاس دیگر عمق یک شی را در کلاس دیگر تعریف شده تغییر داد؟
 

triton

کاربر فعال
دوست عزیز از این متد اشتباه استفاده می کنید. اعلان این متد به صورت زیر است:

[JSS]
setChildIndex(child:DisplayObject, index:int):void
[/JSS]

پس اولین پارامتر از نوع DisplayObject است نه Number که فلش بیچاره هم داره همین را میگه! و برای پارامتر دوم باید index تعیین شود.
 
سلام ممنونم ولی اگر از روی کدی که کپی کردم به این اشتباه افتادید باید عرض کنم کدم در زمان کپی اشتباه وارد شده یعنی به جای , که بین چیلد و ایندکس اشتباها . خورده. چون در کد اصلی ام اینجوری نیست. اشکال از جای دیگری است چون الان که امتحان می کنم به جای اروری که قبلا گفتم به این پیام در خروجی output میرسم.
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/setChildIndex()
at com::Main/onIndexBuildEvent()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com::IndexBuild/onFiltered_CLICK()
 

triton

کاربر فعال
برای بهتر جواب دادن یک نمونه فایل بگذار تا بررسی کنم و دقیق بهت بگم.
از فرمات trace استفاده کن تا ببینی که displayObject را درست انتخاب کردی یا نه ...اگر Null بهت نشون بده یعنی displayObject را اشتباه تعیین کردی.
trace(displayObject)
 

جدیدترین ارسال ها

بالا