سوالاتی از مطالب آموزشی اشن اسکریپت

Bahar_HS

Member
با سلام،
من تازه فلش رو شروع کردم،و در حال خواندن مطالب آموزشی اکشن 3 هستم،سوالاتی برام پیش اومده،اگر دوستان لطف کنند وراهنمایی کنند ممنون میشم،

در بعضی مثالها آبجکت موردنظر تبدیل به MovieClipشده،بهش نام داده شده و با استفاده از همون نام ،براش رویداد و تابع نوشته شده،در درس14 ، MovieClipتبدیل به کلاس شده و از کلاس نمونه سازی شده و بعد هم این نکته اومده:
کد:
نکته: تو as3 تنها راه استفاده از مووی کلیپ به همین صورته!

همینطور در درس29 ،تمام تصاویر تبدیل بهMovieClip و بعد کلاس شدند،یعنی نمی شد از خودMovieClip ها استفاده کنیم؟
من گیج شدم!:shock:
کجاها میشه از خود اونMovieClip استفاده کرد و کجا باید کلاس بشه؟
 

JavidFlasher

کاربر فعال
اینجا شما با اشیا سر و کار دارین
موی کلیپی که تو اتیج هست مثل کلاسی میمونه که از پیش تعریف شده و با اسمی که تو قسمت propertise هست میتونین بهش دسترسی داشته باشین.
همینطور در درس29 ،تمام تصاویر تبدیل بهMovieClip و بعد کلاس شدند،
اینجا که شما میگین کلاس شده فکر کنم مووی کلیپ رو از libraryکه با نام linkageنام گذاری شده رو فراخوا نی کردن.
 

Bahar_HS

Member
با سلام،
ممنون از راهنمایی تون،
یعنی 2 حالت وجو داره:
1)اضافه کردن MovieClip به خود stage،که در این صورت با نامی که بهش می دیم قابل دسترسیه،
2)اضافه کردنMovieClip به کتابخانه،(یعنی چیزی روی stageنداریم ) که در این صورت باید MovieClip رو به کلاس تبدیل کرده و ازش نمونه سازی کنیم،
درست متوجه شدم؟؟
 

Bahar_HS

Member
با سلام،سوال بعدی!
در درس17 مثالی هست به نام traceDisplayList،لینک مشکل داشت،
من چندتا shape روی stage رسم کردم و اونها رو movieClip کردم واین کد رو نوشتم:
import flash.display.MovieClip;
function showChildren(dispObj:DisplayObject):void
{
for(var i:int=0;i<dispObj.numChildren;i++)
{
var obj:DisplayObject=dispObj.getChildAt(i);
if(dispObj is DisplayObjectContainer)
{
trace(dispObj.name,dispObj);
showChildren(dispObj);
}
else
{
trace(dispObj);
}
}
}
//
showChildren(stage);
و برنامه این error رو میده،
Scene 1, Layer 'Layer 1', Frame 1, Line 7 1061: Call to a possibly undefined method getChildAt through a reference with static type flash.display:DisplayObject.
Scene 1, Layer 'Layer 1', Frame 1, Line 5 1119: Access of possibly undefined property numChildren through a reference with static type flash.display:DisplayObject.
اشکال از چیه؟
ممنون از راهنمایی تون
 

spryboy

کاربر فعال
سلام


پارامتر dispObj رو بدون دیتا تایپ تعریف کنید، در این صورت دیگه اون errorهایی که گفتید، داده نمیشه. داخل حلقه for هم، فکر میکنم به جای آبجکت dispObj باید از آبجکت obj که تعریف کردید، استفاده کنید. برنامه تون باید به این شکل باشه:
PHP:
import flash.display.MovieClip;function showChildren(dispObj):void{    for (var i:int = 0; i< dispObj.numChildren; i++)    {        var obj:DisplayObject = dispObj.getChildAt(i);        if (obj is DisplayObjectContainer)        {            trace(obj.name, obj);            showChildren(obj);        }        else        {            trace(obj);        }    }}showChildren(stage);

من هر کاری کردم نمایش کدها درست نشد.
فکر نمیکنم اگه کپی ـ پیست کنید مشکلی پیش بیاد.


موفق باشید.
 
آخرین ویرایش:

Bahar_HS

Member
با سلام،
ممنون از راهنمایی و توجه تون،
بله ،درست شد!:oops:
 
آخرین ویرایش:

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

بالا