افزونه 1 مشکل فراخوانی تابع

mnjadidi

New Member
سلام من با کد زیر یک تابع رو فراخوانی می کنم

[PHPS]btn.addEventListener(MouseEvent.CLICK,trace_new("AAA","BBB"));
trace_new("AAA","BBB")
function trace_new( text_1:String ,text_2:String ):Function{

return function(e:MouseEvent):void {
trace(text_1)
trace(text_2)

}
}

function trace_new( text_1:String ,text_2:String ){
trace(text_1)
trace(text_2)

}

[/PHPS]


مشکل اینجاست که من می خوام این تابع رو هم با موس اونت فراخوانی کنم هم به صورت معمولی
اما اگر موس باشه معمولی نیست اگر معمولی ساشه موس نیست.
 

پیوست ها

  • moshkele fuction call.rar
    315.4 کیلوبایت · بازدیدها: 0

++Hadi++

Active Member
PHP:
import flash.events.MouseEvent;

var t1:String="Hadi";
var t2:String="Abbasi";

btn.addEventListener(MouseEvent.CLICK,trace_new);

function trace_new(evt:MouseEvent ):void
{ 
    trace(t1);
    trace(t2);
}
تابعتون باید void باشه و فقط یه پارامتر ورودی داشته باشه و اونم از نوع رویدادی باشه که تو addEventListener این دو رو به هم وصل کردین و چیزای دیگه رو به روش متغیر ها یا evt.target یا evt.currentTarget بهش وصل کنید.
مثلا:

PHP:
import flash.events.MouseEvent;
import flash.display.MovieClip;

var mc1:MovieClip=new MovieClip();
var mc2:MovieClip=new MovieClip();
this.addChild(mc1);
this.addChild(mc2);
mc1.graphics.beginFill(0x22ff22);
mc1.graphics.drawRect(0,0,20,20);
mc1.graphics.endFill();
mc1.x=mc1.y=20;

mc2.graphics.beginFill(0xff2222);
mc2.graphics.drawRect(0,0,20,20);
mc2.graphics.endFill();
mc2.x=mc1.y=200;

mc1.MyId="Hadi";
mc2.MyId="Mahdi";

mc1.addEventListener(MouseEvent.CLICK,trace_new);
mc2.addEventListener(MouseEvent.CLICK,trace_new);


function trace_new(evt:MouseEvent ):void
{ 
    trace(evt.currentTarget.MyId);
}
بای...
 

mnjadidi

New Member
سلام و خسته نباشید به آقا هادی
دستتئن درد نکنه از اینکه جواب دادید ، اما من یک تابع می خوام که هم با موس و هم با حالت معمولی فراخوانی بشه یعنی
[PHPS]btn.addEventListener(MouseEvent.CLICK,trace_new("AAA","BBB"));// حالت موس
trace_new("AAA","BBB") // حالت معمولی


function trace_new( text_1:String ,text_2:String ):Function{ //این در حالت موس

return function(e:MouseEvent):void {
trace(text_1)
trace(text_2)

}
}


function trace_new( text_1:String ,text_2:String ){ // این در حالت معمولی اجرا میشه
trace(text_1)
trace(text_2)

}


[/PHPS]


من می خوام که که در 2 حالت اجرا بشه که نمیشه:?:
 

spryboy

کاربر فعال
سلام
برنامه ی شما چندتا مشکل داره. هادی عزیز هم براتون توضیح دادند. مشخصترین مشکلتون هم تعریف دوتا تابع هم نام هست.
من کد خودتون رو اصلاح کردم.
PHP:
stage.addEventListener(MouseEvent.CLICK,trace_new_mouse);	// حالت موس
trace_new("AAA","BBB");	// حالت معمولی

function trace_new_mouse(e:MouseEvent ):void{	//این در حالت موس
	trace_new("A AA","BBB");
}

function trace_new(text_1:String ,text_2:String ){	// این در حالت معمولی اجرا میشه 
	trace(text_1);
	trace(text_2);
}

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

spryboy

کاربر فعال
آقا، من هر کاری کردم، کدها درست نمایش داده نشد. همین رو، همین جوری قبول کنید.

ویرایش:
فکر کنم دست شد
 
آخرین ویرایش:

myfirst

Member
سلام. اینو چک کنید...

[PHPS]
import flash.events.MouseEvent;


btn.addEventListener(MouseEvent.CLICK,trace_new);// حالت موس




function trace_new(e:MouseEvent=null , text_1:String=null ,text_2:String=null ){
trace("hjkhjk",text_1,text_2)
}


trace_new(null,"salam","Chetori???");


[/PHPS]
 

mnjadidi

New Member
سلام. اینو چک کنید...

PHP Code:

import flash.events.MouseEvent; btn.addEventListener(MouseEvent.CLICK,trace_new);// حالت موس function trace_new(e:MouseEvent=null , text_1:String=null ,text_2:String=null ){ trace("hjkhjk",text_1,text_2)} trace_new(null,"salam","Chetori???");
با تشکر از این وقت گذاشتید
اما من می خوام پارامتر text_1 و text_1 رو هم از طریق موس بفرستم اما الان نمیشه و نال می زنه
می خوام یک تابع باشه نه 2 تابع، اگر من 2 تابع با یک نام گذاشتم واسه این بود که بگم اولی رو موس اجرا می کنه دومی رو در حالت فراخوانی معمولی
 
آخرین ویرایش:

++Hadi++

Active Member
تو این مورد دستتون بسته هست و نمی شه کاری کرد...راه زیاده ...ولی نا با این ساختاری که دنبالشین...
 

mnjadidi

New Member
ممنونم آقا هادی و دوستان که راهنمایی کردید . بهتره 2 تابع با نام مختلف داشته باشم؟
 

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

بالا