واضح آرشیو وب فارسی:سایت ریسک: مشکل در تابع function Mr_lesani 08 فروردين 1390, 18:14سلام دوستان دوباره من اومدم با سوالی جدید در تاپیکی جدید :wink: در ادامه ی مشکل قبلی من که با کمک دوستان حل شد مشکل با دستور if () مشکل بعدی این شد که حالا من میخوام با کلیک بر روی هر یک از دکمه هام یه اتفاقی رو که مدنظرمه اتفاق بیفته مثلا(لود یک عکس ،فیلم،ویا . . .) حالا من در تابع function زیر چه جوری دستور رو وارد کنم تا با کلیک بر روی هر دکمه کار مربوط به اون اجرا بشه ، چون این دستور زیر یک دستور کلی هست و function مربوطه مربوط به تمام دکمه ها میباشد . import flash.events.MouseEvent; cd_mc.stop(); one_mc.addEventListener(MouseEvent.CLICK,handler); two_mc.addEventListener(MouseEvent.CLICK,handler); three_mc.addEventListener(MouseEvent.CLICK,handler ); four_mc.addEventListener(MouseEvent.CLICK,handler) ; function handler(evt:MouseEvent):void { switch (cd_mc.currentFrame) { case 10 :// 10 == Out cd_mc.gotoAndPlay(10); break; case 5 ://5 == Over break; default : cd_mc.gotoAndPlay(5); break; } } amin.flash 08 فروردين 1390, 19:19این خیلی سادست به هر دکمه یه اسم اختصاص بده و کدت رو به شکل زیر بنویس var mystring:String function handler(ME:MouseEvent):void{ mystring=ME.target.name تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده switch(mystring){ case "l1" : //دستور break case "l2" : //دستور break } امیدوارم کارت حل شده باشه mohammadbasri 08 فروردين 1390, 21:30با توجه به صحبت های خصوصی: یک راهش اینه که برای هر event listener یک فانکشن تعریف کنیم نمونه رو ببینید: Mr_lesani 08 فروردين 1390, 22:01ممنونم دوست گرامی آقای بصری مشکل حل شد ، ولی خوشحال نشین من دوباره مزاحم بچه های فروم میشم :green: mohammadbasri 08 فروردين 1390, 22:31ولی خوشحال نشین من دوباره مزاحم بچه های فروم میشم :green: اولا وقتی کسی سوالی میپرسه خوشحال میشم دوما این انجمن برای آموزش و حل مشکلات فلشکارها هست سوما شما مراحمین mohammadbasri 09 فروردين 1390, 02:35این خیلی سادست به هر دکمه یه اسم اختصاص بده و کدت رو به شکل زیر بنویس var mystring:string function handler(me:mouseevent):void{ mystring=me.target.name تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده switch(mystring){ case "l1" : //دستور break case "l2" : //دستور break } امیدوارم کارت حل شده باشه میتونی بیشتر توضیح بدی و یا اینکه کد رو کاملتر کنی amin.flash 09 فروردين 1390, 17:10سلام محمد جان وال من خودم همیشه از این کد استفاده میکنم فکر کن تو یه برنامه 30 تا دکمه داری حالا اگه بخوای واسه هرکدوم یه تابع ایجاد کنی خیلی حرکت اشتباه و مسخره ای هست شما دو تا movie درست کن و اسمهاشون رو بذار Movie1 , Movie2 حالا این کدهارو بنویس Movie1.addEventListener(MouseEvent.CLICK,handler,f alse,0,true) Movie2.addEventListener(MouseEvent.CLICK,handler,f alse,0,true) var mystring:string function handler(me:mouseevent):void{ mystring=me.target.name تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده switch(mystring){ case "Movie1" : trace("Movie1") break case "Movie2" : trace("Movie2") break } حالا اگه 30 تا دکمه داشته باشی میتونی با یه for ساده listener ها رو اضافه کنی و تعداد case های switch رو اضافه کنی و دستورات خودت رو بنویسی مثل این for(var Loop:int=1;Loop<21;Loop++){ this["Movie"+Loop].addEventListener(MouseEvent.CLICK,handler,false,0 ,true) } خیل ساده 20 تا listener درست کردی و تمام و function هم این شکلی میشه var mystring:string function handler(me:mouseevent):void{ mystring=me.target.name تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده switch(mystring){ case "Movie1" : trace("Movie1") break case "Movie2" : trace("Movie2") break . . . } سایت ما را در گوگل محبوب کنید با کلیک روی دکمه ای که در سمت چپ این منو با عنوان +1 قرار داده شده شما به این سایت مهر تأیید میزنید و به دوستانتان در صفحه جستجوی گوگل دیدن این سایت را پیشنهاد میکنید که این امر خود باعث افزایش رتبه سایت در گوگل میشود
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 348]