حركت سينوسي

شروع موضوع توسط rezaee ‏23 می 2010 در انجمن Action Script 3

  1. rezaee

    rezaee Member

    ارسال‌ها:
    145
    تشکر شده:
    83
    امتیاز دستاورد:
    16
    با سلام به دوستان عزيز :)
    ميخواستم كه براي يه آبجكت، مثلا يك توپ يه حركت سينوسي ايجاد كنم. توسط اكشن نويسي...

    به عنوان مثال توپ از يه طرف استيج وارد بشه و با حركت سينوسي از طرف ديگه استيج خارج بشه...
    خيلي مهم نيست كه چه ورژن اكشن اسكريپت باشه. اما 3 بهتره.

    نرم بودن حركت برام مهمه.

    اگه لطف كنيد نمونه بزاريد و يا توضيح بديد ممنون ميشم....

    خيلي خيلي متشكر




    :rose::rose::rose::rose::rose::rose::rose:
     
    نوشته شده توسط rezaee در ‏23 می 2010
  2. BehrouzPc

    BehrouzPc پــــادشــاه فــلــــش

    ارسال‌ها:
    1,910
    تشکر شده:
    3,511
    امتیاز دستاورد:
    113
    سلام نوید عزیز چطوری خوبی...

    برای این کار توی اکشن 2 از کد زیر می تونی استفاده کنی ، اصول کار چیز ساده ای هست که میشه به راحتی توی اکشن 3 هم پیاده سازی بشه :

    این نمونه کدها بر روی مووی کلیپی نوشته شود که می خواهید به صورت سینوسی حرکت داشته باشد .


    PHP:

    onClipEvent (load) {
        centerY = _y;
        yRadius = 50;
        rotationIncrement = 6;
        currentRotation = 0;
    }
    onClipEvent (enterFrame) {
        currentRotation += rotationIncrement;
        currentRotation %= 360;
        var radians = Math.PI/180*currentRotation;
        var y = Math.sin (radians);
        _y = centerY + y*yRadius;
        _x += 4;
    }
    _x += 4 هم در آخر کد به x داده شده برای سرعت حرکت رو به جلو و یا عقب به صورت موج سینوسی می باشد

    موفق و پیروز باشید.
     
    نوشته شده توسط BehrouzPc در ‏23 می 2010
    rezaee، Avang2005 و ++Hadi++ از این ارسال تشکر کرده اند.
  3. FlashBank

    FlashBank کاربر فعال

    ارسال‌ها:
    930
    تشکر شده:
    2,843
    امتیاز دستاورد:
    93
    چند نمونه از حرکت سینوسی در بانک فلش موجود می باشد
     
    نوشته شده توسط FlashBank در ‏23 می 2010
    rezaee و ++Hadi++ از این پست تشکر کرده اند.
  4. ++Hadi++

    ++Hadi++ Active Member

    ارسال‌ها:
    3,529
    تشکر شده:
    5,802
    امتیاز دستاورد:
    36
    سلام رضایی جان
    حرکت توپ شماره 1 این یه حرکت سینوسی ساده هست:
    PHP:

    import flash.events.*;
    var Angle:Number=0;
    addEventListener(Event.ENTER_FRAME,Moving);
    function Moving(evt:Event):void
    {
        Angle++;
        if(Angle==360)Angle=0;
        ball.x+=4;
        ball.y=Math.sin(Angle)*20;
        if(ball.x >= stage.stageWidth + 30)ball.x= - 30;
    }
     
    حرکت توپ شماره 2 این یه حرکت Elastic هست یعنی وقتی شروع می شه ، حرکت اوج می گیره و به نهایت خودش می رسه و بعد از پیمودن نصف مسیر ، دوباره کم کم از اوج به پایین می رسه:
    PHP:

    import flash.events.*;
    var Angle:Number=0;
    addEventListener(Event.ENTER_FRAME,Moving);
    function Moving(evt:Event):void
    {
        Angle++;
        if(Angle==360)Angle=0;
        ball.x+=4;
        if(ball.x <= stage.stageWidth/2)(ball.y=Math.sin(Angle)* ball.x)/3;
        else ball.y=(Math.sin(Angle)* (stage.stageWidth- ball.x))/3;
        if(ball.x >= stage.stageWidth + 30)ball.x= - 30;
    }
     
    برا دیدن خروجی و سورس ویرایش شده با فلش cs5 ، فایل پیوستو دانلود کن ...
    همینطور واسه حرکت دایره وارد یه مووی کلیپ حول یه محور با استفاده از توابع مثلثاتی به لینک زیر برو :
    http://forum.majidonline.com/showthread.php?t=123715&highlight=توابع+مثلثاتی
    موفق باشی ...
     

    پیوست ها:

    • Sin Movement.rar
      اندازه فایل:
      کیلوبایت 9.6
      نمایش ها:
      91
    نوشته شده توسط ++Hadi++ در ‏23 می 2010
    FlashBank، rezaee و Avang2005 از این ارسال تشکر کرده اند.
  5. rezaee

    rezaee Member

    ارسال‌ها:
    145
    تشکر شده:
    83
    امتیاز دستاورد:
    16
    :spam:

    با تشكر از زحمت دوستاي عزيز و خوبم... كه هميشه لطفشون رو به من ثابت كردن... يه مدت كه كلا فلش رو كنار گذاشتم و دارم توي مباحث ديگه‌اي كار ميكنم... به قول معروف كار رو به كاردونش سپردم.
    بازم ازتون ممنونم آقا بهروز، آقا هادي :rose:

    :oops:
     
    نوشته شده توسط rezaee در ‏24 می 2010
    ++Hadi++ و BehrouzPc از این پست تشکر کرده اند.

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