Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Velocità e accelerazione da A a B

    Ecco il quesito. Forse più che flash è un problema di fisica.
    Ho due punti A e B di cordinate note. La _x è la stessa mentre varia la _y (cioè i due punti sono uno sopra l'altro). Devo far in modo che il mio oggetto vada da A a B, partendo ad una certa velocità da B per arrivare al punto A con velocità uguale a 0. Il tutto in action-script .
    Come faccio a calcolarmi la velocità iniziale per cui ad una data accelerazione si arrivi al punto B con velocità nulla? Vi ricordo che io conosco le coordinate dei due punti, e che la distanza dei due punti è data dalla differenza delle loro y visto che hanno la stessa x.
    http://www.quantumfoam.eu: The Italian Power Guild on Vanguard

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova a leggere questo, magari ti aiuta anche se non è proprio quello che chiedevi
    http://flash-mx.html.it/tutorial/vie...p?idtutorial=8

  3. #3
    Il problema è che, essendo la velocità variabile e le cordinate dell'oggetto di volta in volta diverse, non riesco a far arrivare l'oggetto esattamente nelle coordinate del punto B....
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
    http://www.quantumfoam.eu: The Italian Power Guild on Vanguard

  4. #4
    Il problema è molto semplice da risolvere.
    Ti riporto direttamente il codice qui sotto:

    function Move_Clip(){
    //Velocità iniziale
    v0 = 5;
    //Movimento del clip
    _root.clip.onEnterFrame = function(){
    //Distanza tra la clip e il punto d'arrivo
    dist = _root.pointB._y-this._y;
    //Se il punto A si trova SOTTO il punto B...
    if (_root.pointA._y > _root.pointB._y){
    this._y -= -dist/v0;
    //..altrimenti se il punto A è SOPRA il punto B...
    } else {
    this._y += dist/v0;
    }
    //Se il movieclip ha raggiunto il punto B si ferma tutto
    if (Math.abs(dist) < 2.5){
    this._y = _root.pointB._y;
    delete this.onEnterFrame;
    }
    }
    }


    Tutto questo supponendo che:
    - Il punto A si chiama pointA sullo stage;
    - Il punto B si chiama pointB sullo stage;
    - Il movieclip da muovere si chiama clip sullo stage;
    - Maggiore è la velocità iniziale (v0 ) più lento è il movimento.

    Ciauz
    Sync{3DS}

  5. #5
    funziona!!!
    posto il codice per flash 5 da assegnare alla clip da muovere:


    [CODE]
    onClipEvent (load) {
    //Velocità iniziale
    v0 = 15
    this._y=_root.pointA._y;
    }

    onClipEvent (enterFrame) {
    //Distanza tra la clip e il punto d'arrivo
    dist = _root.pointB._y-this._y;
    //Se il punto A si trova SOTTO il punto B...
    if (_root.pointA._y > _root.pointB._y){
    this._y -= -dist/v0;
    //..altrimenti se il punto A è SOPRA il punto B...
    } else {
    this._y += dist/v0;
    }
    //Se il movieclip ha raggiunto il punto B si ferma tutto
    if (Math.abs(dist) < 2.5){
    this._y = _root.pointB._y;
    delete this.onEnterFrame;
    }
    } CODE]

    Tutto questo supponendo che:
    - Il punto A si chiama pointA sullo stage;
    - Il punto B si chiama pointB sullo stage;
    - Il movieclip da muovere si chiama clip sullo stage;
    - Maggiore è la velocità iniziale (v0 ) più lento è il movimento
    per vederlo in funzione: FromAtoB
    qui

    bye.
    -Nextart.it Graphic Solutions

  6. #6
    ebbene si, la soluzione era proprio questa e alla fine ci sono arrivato pure io!
    Grazie mille Sync!
    http://www.quantumfoam.eu: The Italian Power Guild on Vanguard

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.