واضح آرشیو وب فارسی:سایت ریسک: سوال از حرفه ای ها AMINMIX 07 خرداد 1388, 14:30سلام من می خوام توی کلاسی که تعریف کردم(Harekat) از متغیری که داخل کلاس تعریف شده(myVar) داخل onEnterFrame که داخل یکی از فانکشن های کلاسم(Shetab) هست استفاده کنم اما وقتی که خروجی می گیرم می نویسه undefined در صورتی که اگر این متغیر رو داخل همون فانکشن Shetab ولی خارج از onEnterframe فراخوانی کنیم درست کار می کنه و Hello چاپ می شه. class Harekat extends MovieClip { private var myVar:String="Hello"; public function Shetab():Void { _root.onEnterFrame = function() { trace(myVar); // output is undefined }; } } اگه کسی می دونه مشکل کجاست لطفاً این فایلی رو که گذاشتم اصلاح کنه و توی همین تاپیک بگذاره . من که دیگه عقلم به جایی نمی رسه، ممنون. arashtavoosi 09 خرداد 1388, 14:24خوب بخاطر اینکه onEnterFrame رو برای _root تعریف کردی در حالی که myVar برای smile هست پس اگه می خوای بهش دسترسی داشته باشی باید مسیرش رو درست بنویسی class Harekat extends MovieClip { private var myVar:String = "Hello"; public function Shetab():Void { _root.onEnterFrame = function() { trace(_root["smile"].myVar); }; } } AMINMIX 09 خرداد 1388, 17:07نظر شما کاملاً درسته ، اما من توی کلاس از کجا باید بدونم که قراره اسم آبجکت چی باشه؟ اصلاً شاید چند تا آبجکت از این کلاس تعریف شه. arashtavoosi 09 خرداد 1388, 21:43شما می تونید از خود onEnterFrame این کلاس استفاده کنید البته با ساختن یک نمونه از این کلاس با new ،رویداد onEnterFrame اجرا نمی شه. یعنی حتما یک symbol با این class ی (harkat) که نوشتید وجود داشته باشه. و اون مووی کلیپ instantiate بشه تا این رویداد اتفاق بیفته. در ضمن در کلاس به صورت معمولی نمی شه هندلر onEnterFrame رو تعریف کرد(this.onEnterFrame=function قابل قبول نیست). برای هندل کردن این رویدار باید در کلاس بنویسید. function onEnterFrame () { } AMINMIX 10 خرداد 1388, 15:07یه مشکل هست ، وقتی onEnterFrame رو به این صورتی که شما گفتی می نویسم کار نمی کنه اگه براتون ممکنه یه نمونه از کلاسیو که به این صورت درست شده و کار می کنه اینجا آپلود کنید . arashtavoosi 10 خرداد 1388, 21:39فایل اصلاحی رو attach کردم. AMINMIX 11 خرداد 1388, 14:42مرسی ، مفید بود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 475]