مشکل با کلاس transition class

شروع موضوع توسط persiangolf.ir ‏15 اکتبر 2013 در انجمن Action Script 3

  1. persiangolf.ir

    persiangolf.ir Member

    ارسال‌ها:
    88
    تشکر شده:
    13
    امتیاز دستاورد:
    8
    سلام دوستان خسته نباشید من از کلاس transition استفاده میکنم برای حرکت های دکمه هام

    یعنی وقتی موس رفت روش یک حرکت انجام بده و خارج شد از روی دکمه یک حرکت

    حالا یک مشکلی دارم بعد از چند بار که روی دکمه میرم دیگه کلاسم کار نمی کنه و حرکت انجام میشه این هم نمونه کدم

    یعنی از هر کلاسی استفاده میکنم این اتفاق میوفتته
    [PHPS][/PHPS]
    [PHPS]var myTM2:TransitionManager = new TransitionManager(a1.btn2);​
    //myTM.startTransition({type:Fly, direction:Transition.IN, duration:2, easing:Strong.easeOut});
    a1.btn2.addEventListener(MouseEvent.CLICK, onClick2);
    a1.btn2.addEventListener(MouseEvent.MOUSE_OVER, hover2);
    function onClick2(e:MouseEvent)
    {
    myTM2.startTransition({type:photo, direction:Transition.IN, duration:0, easing:Strong.easeOut});
    }


    function hover2(e:MouseEvent):void
    {


    myTM2.startTransition({type:photo, direction:Transition.IN, duration:0, easing:Strong.easeOut});
    //Tweener.addTween(a1.btn2, {"y":-110, transition:"easeInOutSine", time:0.1, delay:0})
    a1.btn2.removeEventListener(MouseEvent.MOUSE_OVER, hover2);
    //a1.tb2.transform.colorTransform = c;
    a1.btn2.addEventListener(MouseEvent.MOUSE_OUT, out2);
    //trace("over"+a1.btn1.y);
    // a1.btn.y=-85;
    // trace(a1.btn1.y);
    }


    function out2(e:MouseEvent):void {
    Tweener.addTween(a1.btn2, {"y":-85, transition:"easeInOutSine", time:0.1, delay:-1});
    a1.btn2.removeEventListener(MouseEvent.MOUSE_OUT, out2);
    a1.btn2.addEventListener(MouseEvent.MOUSE_OVER, hover2);
    //trace("out"+a1.btn1.y);
    }[/PHPS]
     
    نوشته شده توسط persiangolf.ir در ‏15 اکتبر 2013
  2. ++Hadi++

    ++Hadi++ Active Member

    ارسال‌ها:
    3,529
    تشکر شده:
    5,802
    امتیاز دستاورد:
    36
    سلام
    1- لطفا دیگه تایپیک تکراری نزنید،این مخالف قوانین هست.
    2- بهتره از توابع TweenMax گروه greensock به آدرس greensock.com استفاده کنید.چون پرفرمنسشون از transition بهتره...اگه به اون سمت کوچ کردین ،بگید تا کد هایی رو بنویسم...
     
    نوشته شده توسط ++Hadi++ در ‏16 اکتبر 2013
    persiangolf.ir از این پست تشکر کرده است.
  3. persiangolf.ir

    persiangolf.ir Member

    ارسال‌ها:
    88
    تشکر شده:
    13
    امتیاز دستاورد:
    8
    با تشکر از اقا هادی

    من 2 تا button دارم میخوام وقتی موس رفت روش یک حرکتی انجام بده و وقتی میخوام موس رفت بیرون برگرده به حالت قبلش ....با اینی که دارم انجام میدم خیلی گیره همش هنگ میکنه....چند تا حرکت خوب میشه برام بذارید
     
    نوشته شده توسط persiangolf.ir در ‏16 اکتبر 2013
  4. ++Hadi++

    ++Hadi++ Active Member

    ارسال‌ها:
    3,529
    تشکر شده:
    5,802
    امتیاز دستاورد:
    36
    برو و توابع Tweenmax رو دانلود کن و فولدر com اونو که دارای فولدر greensock هست رو بریز بغل سورست...
    فرض کن btn1 و bt2 داریم و register point یا همون نقطه ثقلشون تو وسطشون هست.پس بنویسید:
    PHP:

    import flash.events.MouseEvent;
    import com.greensock.TweenMax;
    import com.greensock.easing.Elastic;

    btn1.addEventListener(MouseEvent.ROLL_OVER,overring);
    btn2.addEventListener(MouseEvent.ROLL_OVER,overring);
    btn1.addEventListener(MouseEvent.ROLL_OUT,outing);
    btn2.addEventListener(MouseEvent.ROLL_OUT,outing);

    function overring(evt:MouseEvent):void
    {
        TweenMax.to(evt.currentTarget,0.5,{scaleX:3,scaleY:3,rotation:720,ease:Elastic.easeOut});
    }
    function outing(evt:MouseEvent):void
    {
        TweenMax.to(evt.currentTarget,0.5,{scaleX:1,scaleY:1,rotation:0,ease:Elastic.easeOut});
    }
     
    این کدا تو اکشن 3 هستند و همچنین تو تابع over پارامتر هایی مثل rotation و scaleX و ... رو قرار دادیم و اونها رو به پارامتر جدیدی مثل (بزرگ کردن) و چرخش و ... رسوندیم ...بعدش هم تو تابع outing دستوراتی رو گذاشتیم که همه چی رو به قبل برگردونه و برا وقتی هست که موس از رو دکمه رفت کنار.پارامتر های دیگه ای رو خودت اضافه کن یا تنظیم کن.می تونی به هر ترتیبی بدی و ترتیب مهم نیست که اول scaleX رو بدی یا scaleY .در ضمن می تونی از ease های خودش برا تغییر آهنگ تغییرات استفاده کنی...
    در ضمن اول شیی که می خوای تغییرات اعمال شه رو می نویسی و بعد زمان به ثانیه رو یعنی 0.5 ثانیه و بعد مشخصه ها یا متغیر های مخصوص اون شی که تو پارامتر اول اومده رو با مقادیر ثانویه بنویسید
    بای...
     
    آخرین ویرایش: ‏16 اکتبر 2013
    نوشته شده توسط ++Hadi++ در ‏16 اکتبر 2013
    persiangolf.ir از این پست تشکر کرده است.
  5. persiangolf.ir

    persiangolf.ir Member

    ارسال‌ها:
    88
    تشکر شده:
    13
    امتیاز دستاورد:
    8
    با تشکر از شما اقا هادی دمت گرم ....من نمیدونم چرا خودتو بازنشسته کردی....2 تا سوال کوچیک دیگه دارم؟

    1-یک عکس دارم شبیه کره هست با همین توابع transition بهش گفتم بچرخه الان کدشو هم میزارم ولی وقتی از میچرخه از گوشه بالاش میچرخه من میخوام از وسط واقعا مثل یک کره بچرخه چیکار کنم registration point رو عوض کنم؟
    [PHPS]var kore:TransitionManager = new TransitionManager(ball2);
    kore.startTransition({type:Rotate, duration:2,easing:None.easeOut});[/PHPS]
    2
    -سوال دوم اینه که با چند تا دستور صفحه رو سیاه میکنم که با هر رزولیشنی تغییر کنه ولی نمیدونم برای چی وقتی میخواد رسم بشه از نقطه 0 و 0 صفحه رسم نمی شه و تمام صفحه رو نمی گیره؟به نظرتون باید چیکار کنم؟
    [PHPS]var b:Number=flash.system.Capabilities.screenResolutionY ;
    var a:Number=flash.system.Capabilities.screenResolutionX;
    trace (a);
    trace(b);
    var my_shape:Shape = new Shape();
    addChild(my_shape);
    my_shape.graphics.moveTo(0, 0);
    my_shape.graphics.lineStyle(0, 0xFF0000, 0);
    my_shape.graphics.beginFill(0x000000,1);
    my_shape.graphics.drawRect(0,0,a, b);
    my_shape.graphics.endFill();
    my_shape.alpha=0.7;

    [/PHPS]
     
    نوشته شده توسط persiangolf.ir در ‏16 اکتبر 2013
  6. ++Hadi++

    ++Hadi++ Active Member

    ارسال‌ها:
    3,529
    تشکر شده:
    5,802
    امتیاز دستاورد:
    36
    برا اینکه از وسط بچرخه باید نقطه ثقلشو ببرید وسط.کره تون رو تو یه کانتینر مثل sprite یا یه سیمبل مووی کلیپ بندازید.بعدش کاری کنید که نقطه وسط یا همون مثبت کوچیک وسط مووی کلیپ بیفته وسط کره...بعدش دیگه باید درست شه چون مبدا اشکال تو فلش از چپ هست و از قضا دور همون هم می چرخه....در ضمن در این شرایط باید اون مووی کلیپ رو بدین به tweenmax ...
    سوال 2 : اگه قراره صفحه سیاه شه ،بهتره از از دستور زیر استفاده کنید :
    PHP:
    stage.color=0x000000;
    اگه بخواهید واقعا یه مستطیل مشکی به اندازه صحنه رسم کنید از دستور زیر استفاده کنید :
    PHP:

    import flash.display.Shape;
    import flash.system.Capabilities;

    var shp:Shape=new Shape();
    this.addChild(shp);
    shp.graphics.beginFill(0x000000,1);
    shp.graphics.drawRect(0,0,Capabilities.screenResolutionX,Capabilities.screenResolutionY);
    shp.graphics.endFill();
     
    هر موقع هم خواستید می تونید graphics.clear رو صدا بزنید تا پاک شه...
     
    نوشته شده توسط ++Hadi++ در ‏16 اکتبر 2013
    persiangolf.ir از این پست تشکر کرده است.

به اشتراک بگذارید