مشکل در getChildByName

با سلام
من از این کد استفاده کردم.(فایل رو هم اتچ کردم)
[PHPS]var movieclip_target:String; // متغییر جهت ذخیره اسم مووی کلیپ
var timer:Timer = new Timer(4000, 1);


function test1(e:MouseEvent):void {
movieclip_target = e.currentTarget.name // ذخیره نام مووی کلیپ در متغییر مناسب

getChildByName(movieclip_target).addEventListener(MouseEvent.MOUSE_OUT, out1);

timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerfinish);// فعال شدن لیسنر تایمر
timer.start();// شروع تایمر
}


function timerfinish(e:TimerEvent):void{

timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerfinish);

getChildByName(movieclip_target).addEventListener(MouseEvent.MOUSE_MOVE, move1);


}




function move1(e:MouseEvent):void
{
trace("moving");
}




function out1(e:MouseEvent):void
{
trace("out");
}


[/PHPS]



وقتی که یک باتن درست کنم و در روت قرار بدم و تابع test1 را فراخوانی کنم همه کد ها کار می کنن.
[PHPS]button1.addEventListener(MouseEvent.MOUSE_OVER, MovieClip(root).test1);


[/PHPS]







اما اگر همان مووی کلیپ را در یک مووی کلیپ دیگر به نام m1 بگذارم دیگر کد کار نمی کنه و اگر توی یک مووی کلیپ دیگر به نام m2 هم بذارم باز کار نمیکنه یعنی m1>m2>button1


با کد

[PHPS] m1.getChildByName(movieclip_target).addEventListener(MouseEvent.MOUSE_OUT, out1);

[/PHPS]

برای m1 کار می کنه اما برای دیگران نه
چطور میشه کاری کرد که خودش آدرس دکمه رو در بیاره؟
 

پیوست ها

  • test.rar
    54.1 کیلوبایت · بازدیدها: 7
آخرین ویرایش:
کد زیر رو جایگزین کن مشکل حله
[PHPS]import flash.display.MovieClip;

var movieclip_target:MovieClip;
var timer:Timer = new Timer(4000, 1);

function test1(e:MouseEvent):void {
movieclip_target = MovieClip(e.currentTarget);
movieclip_target.addEventListener(MouseEvent.MOUSE_OUT, out1);

timer.addEventListener(TimerEvent.TIMER_COMPLETE, timerfinish);
timer.start();
}

function timerfinish(e:TimerEvent):void{

timer.removeEventListener(TimerEvent.TIMER_COMPLETE, timerfinish);

movieclip_target.addEventListener(MouseEvent.MOUSE_MOVE, move1);

}


function move1(e:MouseEvent):void
{
trace("moving");
}


function out1(e:MouseEvent):void
{
trace("out");
}

[/PHPS]
 
آخرین ویرایش:

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

بالا