سوال در مورد صدا زدن توابع با چند پارامتر

سلام ببخشید من خیلی سوال میکنم آخه تازه دارم با اکشن 3 کار میکنم
سوال ؟
PHP:
var p:int=0;


s_btn.addEventListener(MouseEvent.CLICK,Func(Event:MouseEvent,p  
(


اینجوری صدا میزنم گیر میده رو اعصابه به خدا 
اینم خود تابع 
به دادم برسییید

function Func(Event:MouseEvent,s:int):int
{

یکمشت دستورو اینا که مشکلی نداره و بعد
ریترن هم میکنم ولی نمیشه  !
return s;

}
مشکل املایی هم نداره فقط بم بگید چجوری همزمان با یک ایونت میشه یک پارامتر دیگه هم گرفت با مثال لطفا
کلا به نوع صدا زدن لیستنر گیر میده همه جوریش رو هم امتحان کردم
اصلا کلا بخوایم یک لیستنر رو صدا بزنیم و چند پارامتر دیگه هم همزمان بدیم باید چکار کرد ؟ ؟
مرصی از عزیزان دلم .. .
 
آخرین ویرایش:
سلام دوست عزيز

هيچ موردي وجود نداره . ما بايد به هم کمک کنيم تا بتونيم پيشرفت داشته باشيم .

در مورد اشکالت بايد بگم که شما يک متغير به نام p از جنس int تعريف کردي که اين درست مي باشد .

ولي ساختار addEventListener شما اشتباه است . شما بايد Event مورد نظر را به يک تابع پاس بديد که شما اينجا به همان متغير int پاس داديد و اين اشتباه است .

شما مي تونيد Event را به تابع ergh بفرستيد و بعد داخل آن اعمالي که مي خواهيد را انجام دهيد مثلا همان متغير p را تعريف کنيد .

مثلا :

کد:
s_btn.addEventListener(MouseEvent.CLICK,ergh);
 
function ergh(evt:MouseEvent):void
{
var p:int=0;
}
 
آخه میخوام وقتی پاسش کردم به تابع متغیر رو ارجاع بدم به روی روت و بتونم ازش استفاده کنم ! اینجوری که نمیشه !
سوالم رو کامل میکنم پس میگی نمیشه کلا زمانی که ایونت انجام میشه تابع ما پارامتر دیگه ای داشته باشه ؟
 
شما می تونید از یک تابع کمکی استفاده کنید.
PHP:
s_btn.addEventListener(MouseEvent.CLICK,erghassis);
 
function erghassis (evt:MouseEvent):void
{
var p:int=0;
ergh(p);
}

function ergh(g:int):void
{
g +=5;
}

این کد در واقع با کلیک کردن موس متغیر p رو ایجاد کرده و به تابع اصلی که قرار عملیات خاصی روی اون انجام بشه (که در اینجا یک عمل جمع سادس) میفرسته.
 
سلام

راه دیگر این است که متغیرتان را در خود s_btn تعریف کنید و بعد در تابع پاسخ گویی به رویداد، از طریق currentTarget به آن دسترسی پیداکنید.
مثلا:


کد:
s_btn["myprop"] = 123;

s_btn.addEventListener(MouseEvent.CLICK, onClick);

function onClick(e:MouseEvent):void
{
trace (e.currentTarget["myprop"]);
}
 

kodex2

کاربر فعال
api و library برای هندل کردن این جور مشکلات زیاد هست. نیازی نیست دوباره اختراعش کنین. توی CASA lib و as3corelib فک کنم کلاسهاش باشه اگه اشتباه نکنم.
 

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

بالا