مشکل در تابع function

Mr_lesani

Member
سلام دوستان

دوباره من اومدم با سوالی جدید در تاپیکی جدید :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;
	}
}
 

پیوست ها

  • if.rar
    11.1 کیلوبایت · بازدیدها: 8
این خیلی سادست به هر دکمه یه اسم اختصاص بده و کدت رو به شکل زیر بنویس
PHP:
var mystring:String
function handler(ME:MouseEvent):void{
mystring=ME.target.name
تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده
switch(mystring){
case "l1" :
//دستور
break
case "l2" :
//دستور
break
}
امیدوارم کارت حل شده باشه
 

mohammadbasri

کاربر فعال
با توجه به صحبت های خصوصی:
یک راهش اینه که برای هر event listener یک فانکشن تعریف کنیم
نمونه رو ببینید:
 

پیوست ها

  • if3.rar
    9.6 کیلوبایت · بازدیدها: 8

Mr_lesani

Member
ممنونم دوست گرامی آقای بصری

مشکل حل شد ، ولی خوشحال نشین من دوباره مزاحم بچه های فروم میشم :green:
 

mohammadbasri

کاربر فعال
این خیلی سادست به هر دکمه یه اسم اختصاص بده و کدت رو به شکل زیر بنویس
PHP:
var mystring:string
function handler(me:mouseevent):void{
mystring=me.target.name
تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده
switch(mystring){
case "l1" :
//دستور
break
case "l2" :
//دستور
break
}
امیدوارم کارت حل شده باشه
میتونی بیشتر توضیح بدی
و یا اینکه کد رو کاملتر کنی
 
سلام محمد جان وال من خودم همیشه از این کد استفاده میکنم فکر کن تو یه برنامه 30 تا دکمه داری حالا اگه بخوای واسه هرکدوم یه تابع ایجاد کنی خیلی حرکت اشتباه و مسخره ای هست شما دو تا movie درست کن و اسمهاشون رو بذار Movie1 , Movie2 حالا این کدهارو بنویس
PHP:
Movie1.addEventListener(MouseEvent.CLICK,handler,false,0,true)
Movie2.addEventListener(MouseEvent.CLICK,handler,false,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 رو اضافه کنی و دستورات خودت رو بنویسی مثل این
PHP:
for(var Loop:int=1;Loop<21;Loop++){
this["Movie"+Loop].addEventListener(MouseEvent.CLICK,handler,false,0,true)
}
خیل ساده 20 تا listener درست کردی و تمام و function هم این شکلی میشه
PHP:
var mystring:string 
function handler(me:mouseevent):void{ 
mystring=me.target.name 
تا اینجا فهمیدی کدوم دکمه برنامه رو اجرا کرده 
switch(mystring){ 
case "Movie1" : 
trace("Movie1")
break 
case "Movie2" : 
trace("Movie2")
break 
.
.
.
}
 
آخرین ویرایش:

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

بالا