معادل onClipEvent(load) در as3

borna008

Active Member
سلام. من قبلا با as2 کار میکردم و چندروزیه دارم سعی میکنم as3 کارکنم
مشکل من اینجاست که
قبلا برای تغییر نوشته(زبان) یک دکمه از دستور
PHP:
onClipEvent(load)
استفاده میکردم
واسه معادلش خیلی تلاش کردم اما کار نمیده!!!
چیزی که من بهش رسیدم
PHP:
this.mc_1.addEventListener(Event.ADDED,man,true,1,false);function man(event:Event):void{    if(myGlobal.zaban=="fa"){    this.mc_1.mc_2.gotoAndStop(1);    }else if (myGlobal.zaban=="en"){    this.mc_1.mc_2.gotoAndStop(2);    }}



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

++Hadi++

Active Member
دقیقا کار onClipEvent چی بود ؟چون من اکشن 2 بلد نیستم...ولی تو اکشن 3 خیلی راه ها هست...شما بگو تا انشاءال... بهتون راهشو بگم...
 

borna008

Active Member
ببینید این دستور میگه مثلا موی کلیپ زمانی که لود شد شرط را بررسی کنه و با توجه به جواب عکس العمل نشون بده مثلا در موی کلیپ مادر با توجه به شر محتویات فریم یک را نشون بده یا فریم دو را . این دستور onClipEvent(load) روی موی کلیپ نوشته میشد !
من این دستور را برای انتخاب زبان استفاده میکردم مثلا دکمه من داری یک متن بود. که اگر کاربر زبان فارسی را انتخاب کنه فریم متن فارسی در دکمه نوشن داده میشد و اگه انگلیسی را انتخاب کنه متن انگلیسی را نشون میده! همین!!
حالا من معادل این دستور را در اکشن3 میخوام. ممنون
 

++Hadi++

Active Member
خوب تو اکشن 3 همیشه اول نگاه می ندازیم که stage لود و آماده شده یا نه اگر بله یعنی همه چی بالا اومده....
برا گوش کردن به stage می نویسیم :
PHP:
package
{
    import flash.display.Sprite;
    import flash.events.Event;

    public class Main extends Sprite
    {
        public function Main():void
        {
            if(stage)init();
            else addEventListener(Event.ADDED_TO_STAGE,init);
        }
        private function init(evt:Event=null):void
        {
            removeEventListener(Event.ADDED_TO_STAGE,init);
            Start();
        }
        private function Start():void
        {
            
        }
    }
}
البته این کلاسی هست که اسمش Main.as هست و شما باید بغل فایل فلش و خروجیتون بزارید و تو properties و تو قسمت documentClass باید اسم Main رو بنویسید.راه درست استفاده از اکشن 3 تو استفاده از کلاس هست ولی می شه همون قسمت اصلیشو هم تو فریم 1 بنویسید چون دید فلش به فریم اول روت یه دید خاص هست که همیشه حتا اگه سورس اصلی لود کامل نشه هم اول اون لود می شه...
بعدش می تونید تو تابع Start ، زبون رو تعیین کنید. پیشنهاد می کنم دو آرایه یکی برا زبون اول و یکی برا زبون دوم داشته باشید و هر دکمه یا تکست فیلد از یه ایندکس خاص از اون آرایه دستوراتشو بخونه و نمایش بده و در نهایت با سویچ رو زبونها ،تمام آیتم های کنونی مقادیر جدید رو از آرایه جدید بخونن...در واقع هر آیتم از یه ایندکس خاصی از آرایه ها ، مقدار رشته ایشو می گیره.... و اگه 1 تا n زبون باشه ،هر زبون نماد یه ارایه می شه که تو ایندکس خاص همه زبونها ،معادل یه کلمه هست که با سویچ رو زبون می شه به آرایه معادل اون زبون رفت و تو ایندکس خاصش ،مقدار جدید رو تو تکست فیلد یا لیبل باتن ریخت.البته بهتره از آرایه وکتور استفاده کنی.موفق باشید...
 
آخرین ویرایش:

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

بالا