• User Newbie

    Spostare e interpolare MovieClip Tramite AS

    Prima di tutto un saluto a tutti voi del Forum.. Sono un apprendista flasher appena iscritto. Ho capito che conoscere l'action script è fondamentale ma sono ancora agli inizi ed ho quindi bisogno del vostro aiuto.

    Il quesito che vi pongo è questo..::

    Vorrei sapere se è possibile spostare un movie clip tramite action script senza intervenire sulla linea temporale.. Mi spiego meglio con un esempio..

    ES: Ipotizzando di avere Un movie clip contenete una foto al centro della scena chiamato "foto01" e 2 pulsanti chiamati "destra_bt" e "sinistra_bt"

    Vorrei che cliccando sul tasto destro la foto si sposti verso un punto preciso a destra sullo stage. Ma vorrei che questa clip filmato si sposti come se fosse interpolata con un andamento al 80%. la stessa cosa per il tasto sinistro a sinistra.

    è possibile creare una cosa del genere??

    Grazie in anticipo..


  • Super User

    Ciao e benvenuto nel forum GT 🙂
    Non ho capito questa riga: 'Ma vorrei che questa clip filmato si sposti come se fosse interpolata con un andamento al 80% '

    Per muovere una clip con actionscript basta agire sulle proprietà x e y di quella clip:

    
    my_mc._x=100;
    my_mc._y=100;
    
    

    Poi ti serve un evento:

    
    my_btn.onPress=function():Void
    {
     my_mc._x=my_mc._x=100;
     my_mc._y=100;
    }
    
    

  • User Newbie

    Con questa frase:

    'Ma vorrei che questa clip filmato si sposti come se fosse interpolata con un andamento al 80% '

    Intendo che il movimento che deve compiere my_mc deve essere come se facessi un interpolazione di movimento con decellerazione del my_mc prima di fermarsi nel punto di arrivo. Deve insomma muoversi

    *image

    Per andamento intedo proprio la decellerazione o accellerazione di un MC..

    Come faccio a fare cio???*image


  • Super User

    Ok ho capito,
    quello che chiedi, in actionscript è definito 'movimento inerziale'.
    Ecco un esempio:

    
    var arrive:Number=200;
    my_mc.onEnterFrame=function():Void
    {
     var dx:Number=arrive-this._x;
     var ax:Number=dx*.1;
     this._x+=ax;
    }
    
    

    Chiaramente ora sta a te capire quando fermare l'onEnterFrame o avrai un intervallo che andrà sempre e ciò è molto male per la cpu dell'utente 🙂