تور لحظه آخری
امروز : چهارشنبه ، 23 آبان 1403    احادیث و روایات:  امام صادق (ع):عبادت کردن به زیادی روزه و نماز نیست، بلکه (حقیقت) عبادت، زیاد در کار خدا اندیشیدن است
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

صرافی ارکی چنج

صرافی rkchange

سایبان ماشین

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

Future Innovate Tech

پی جو مشاغل برتر شیراز

لوله بازکنی تهران

آراد برندینگ

خرید یخچال خارجی

موسسه خیریه

واردات از چین

حمية السكري النوع الثاني

ناب مووی

دانلود فیلم

بانک کتاب

دریافت دیه موتورسیکلت از بیمه

بازسازی ساختمان

طراحی سایت تهران سایت

irspeedy

درج اگهی ویژه

تعمیرات مک بوک

دانلود فیلم هندی

قیمت فرش

درب فریم لس

زانوبند زاپیامکس

روغن بهران بردبار ۳۲۰

قیمت سرور اچ پی

خرید بلیط هواپیما

بلیط اتوبوس پایانه

قیمت سرور dl380 g10

تعمیرات پکیج کرج

لیست قیمت گوشی شیائومی

خرید فالوور

پوستر آنلاین

بهترین وکیل کرج

بهترین وکیل تهران

اوزمپیک چیست

خرید اکانت تریدینگ ویو

خرید از چین

خرید از چین

تجهیزات کافی شاپ

نگهداری از سالمند شبانه روزی در منزل

بی متال زیمنس

ساختمان پزشکان

ویزای چک

محصولات فوراور

خرید سرور اچ پی ماهان شبکه

دوربین سیمکارتی چرخشی

همکاری آی نو و گزینه دو

کاشت ابرو طبیعی و‌ سریع

الک آزمایشگاهی

الک آزمایشگاهی

خرید سرور مجازی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

قیمت بالابر هیدرولیکی

لوله و اتصالات آذین

 






آمار وبسایت

 تعداد کل بازدیدها : 1828712738




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

مشکل با توابع و listener -


واضح آرشیو وب فارسی:سایت ریسک: مشکل با توابع و listener amin.flash 03 مهر 1389, 18:10سلام به همگی من یه سوال دلرم لطفا کمک کنید sd.addEventListener(Event.change,f1) df.addEventListener(Event.complete,f1) function f1(evt:Event){ ............. } این 2 تا listener یه تابع رو فراخوانی میکنن حالا سوال من این هست که من میخوام بدونم کدوم یکی از از این listener ها تابع من رو فراخوانی میکنه (برای اجرای تابع مهمه) همون لحظه که میخواد تایع اجرا بشه لازمش دارم وسوال دوم به صورت کلی میخوام بدونم اخرین listener که تو برنامه اجرا شده چی هست یا لیست همه listener هام به صورت کلی و سوال اخر میشه واسه listener های برنامه یه listener کلی تعریف کرد مثلا 10 تا Listener دارم که روی 10 تا loader هستن و به رخداد complete حساس هستن حالا میخوام یه listener بذارم که واسش فرقی نکنه که کدوم loader الان درگیر هست و به طور کلی به رخداد complete همه loader ها حساس باشه ببخشین اگه زیاد و پیچیدس بازم ممنون از کمک دوستان و اساتید ++Hadi++ 03 مهر 1389, 19:041- هر دو چون کلاس اصلیشون Event هست پس میتونن بعد از انجام شدن و صدا زدنشون ، تابع مورد نظر رو که ورودی از نوع کلاس Event می گیره رو اجرا کنند . البته به شرطی که به موقعش صدا زده بشن ... 2- نمی شه گفت کدومشون زودتر اجرا می شن . البته معمولا دستوراتی که زودتر و در خطوط بالاتر نوشته می شن زودتر کامپایل می شن ولی شاید دستور پایینی به سرعت اجرا بشه ولی دستور بالایی طول بکشه تا مثلا یه فایل رو تماما لود کنه و بعد اون رویداد رو صدا بزنه و باعث اجرای تابع مورد نظر باشه .وقتی شی مورد نظر فایلی رو مثلا لود می کنه یا بههر عنوان کاری مورد نظر رو انجام میده ، یه رویداد از نوع رشته ای که در متغیر استاتیکی واقع در کلاس Event قرار گرفته با اسم رشته مورد نظر dispatch می شه و این گوش کننده هم گوش می کنه تا هر وقت که اون dispatch شد ، تابع مورد نظرش رو اجرا کنه . 3- بله به این صورت ... var Arr:Array=new Array(); var MainCounter:int=0; Make(); addEventListener("ThisIsComplete",_EXECUTE); function Make():void { var myLoader:Loader=new Loader(); Arr | MainCounter|= myLoader; addChild(Arr| MainCounter|); myLoader.contentLoaderInfo.addEventListener(Event. COMPLETE,comp); myLoader.load(new URLRequest(String(URLArray | MainCounter |))); } function comp(evt:Event):void { MainCounter++; if(MainCounter==10) { dispatchEvent(new Event("ThisIsComplete",true,true)); } else { Make(); } } function _EXECUTE(evt:Event):void { trace("This Is Complete!!!"); } در دستورات بالا به جای | | علامت [ ] بزار چون وقتی من تو اینجا می زارم فیلتر می شه ... بای... Bye... Insomnia 03 مهر 1389, 19:37تابعی که به Event.COMPLETE وابسته است زودتر اجرا میشه! بعد اگر تغییری در شی ات ایجاد بشه ، تابعی که براش نوشته شده اجرا میشه... amin.flash 03 مهر 1389, 19:41سلام هادی جان ممنون از کمکت واقها عالی بود ولی مشکل من حادتر از این چیزاست این کدی که نوشتم یه مثال بود نه خود برنامه من راستش من یه uiloader , scrollbar , slider , text دارم با 10 -20 تا listener که هرکدوم یه فانکشن و یه رویداد متفاوت دارن که ممکن بخشی از دستورات و توابعی که هر کدوم از این listener های متفاوت(حتما باید متفاوت باشن) فراخوانی میکنن یکسان باشه و تنها یکم با هم فرق میکنن من برای جلوگیری از زیاد شدن کدهای تکراری میخوام وقتی 2 تا listener متفاوت یه فانکشن را اجرا میکنن مثلا 40 خطش که ثابت هست رو اجرا کنه و به به شرایط و رویداد و listener فقط 10 خطی که مخصوص اون listener ورویداد هست رو اجرا کنه بیشتر برنامه بر اساس mouseEvent , keyboard Event هست که باید کاربر تو اون تغییر ایجاد کنه و هیچکدوم از مسائل مورد نظر من توسط فلش اجرا نمیشه(رویدادهام از نوع event نیست) حالا من لازم دارم که بدونم اخرین بار کدوم listener اومده فانکشنم رو اجرا کرده و در صورت لزوم اخرین event (از هر نوعی) که باعث تحریک listener و نهایتا فراخوانی تابع شده چی بوده در حالت کلی اگه بشه همه این listener ها به ترتیب تو یه ارایه ذخیره بشه عالیه امیدوارم منظورم رو درست رسونده باشم ومعذرت میخوام که واضح حرفمو نزدم و باعث زحمتت شدم ++Hadi++ 04 مهر 1389, 13:07می تونی یه آرایه طراحی کنی و هر وقت که تابع مد نظرتون فذاخوانی می شه (با Event ) اون ورودی evt:Event رو به اون آرایه پاس بدی : EventsArray.push(evt); بهترین راه اینه که اگه قراره یه سری کارهای تکراری مثلا با تعداد 40 خط اجرا شه ، همه رو تو یه تابع بزاری و توابع مختلفی رو به رویدادهای مختلف بدی و همه این توابع بعد از اثر گذاری خاص خودشون به نسبت رویداد صدا زده شده ، اون تابع رو اجرا کنند ... بیشتر از این مورد سعی کن زیاد به تعداد خطها حساس نشی ... چون انقده هم محسوس نیست ... بای... سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود




این صفحه را در گوگل محبوب کنید

[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 277]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن