Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Rimbalzo fine stage

  1. #1

    Rimbalzo fine stage

    Ciao a tutti, sto creando un movieclip che si sposta per lo schermo, quando raggiunge il bordo dello stage dovrebbe invertire direzione. ...ovviamente non accade

    addEventListener(Event.ENTER_FRAME, bounceStar);

    function bounceStar(e:Event):void {
    var bounceX:Number = 2;
    var bounceY:Number = 3;
    if (bounce_star.x < stage.stageWidth) {
    bounce_star.x += bounceX;
    bounceX_txt.text = String(bounceX);
    } else {
    bounceX *= -1;
    }

    if (bounce_star.y < stage.stageHeight) {
    bounce_star.y += bounceY;
    } else {
    bounceY *= -1;
    }
    }

    grazie x l'aiuto! )

  2. #2
    Se si sposta da solo, senza che l'utente possa intervenire puoi farlo direttamente con le tween di AS2 (o classi come TweeLite)

  3. #3
    scusami, non ho scritto che sto usando AS3
    la domanda nello specifico è: l'evento ENTER_FRAME non viene considerato ad ogni cambio di frame? perché non viene riconsiderato quando le traslazioni in X e Y diventano negative? devo richiamare il metodo dopo aver reso negativi i valori? (intanto provo)
    grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    60
    prova così per la x, per la y è lo stesso codice, ovviamente modificando la coordinata e il limite

    var coef:Number=6;//velocita dello spostamento

    //palla è il tuo oggetto

    palla.addEventListener(Event.ENTER_FRAME,muovi);

    function muovi(evt:Event):void {
    if ((palla.x<stage.stageWidth-(palla.width * 0.5)) && (palla.x>palla.width * 0.5)) {
    palla.x+=coef;
    } else {
    coef=coef*-1;
    palla.x+=coef;
    }
    }

    ciao michele

  5. #5
    perfetto! mi mancava questo

    palla.x+=coef;

    mi sorge però una domandina..
    se a coef assegno *-1 (coef=coef*-1) l'oggetto fa un piccolo rimbalzo (tipo elastico) se assegno -1 (coef=coef-1) torna semplicemente indietro. La domanda che mi sorge è: moltiplicando *-1 è normale che abbia la stessa velocità, non capisco perché abbia la stessa velocità anche se gli assegno -1.
    Ora cerco di farlo rimbalzare all'infinito intanto
    Grazie tantissime dell'aiuto

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    60
    il fatto di assegnare a coef, coef * -1 serve solamente per invertire la direzione dell' oggetto, se sta andando verso stageWidth vuol dire che coef è positivo ed allora quando giunge al limite diventa negativo...se sta andando verso lo 0 vuol dire che è negativo e quindi diventerà positivo e così via

  7. #7
    ok, mi chiedevo come mai assegnandogli *-1 giustamente invertisse la direzione (come è giusto che sia) mentre assegnandogli -1, invertisse comunque la direzione, avesse la stessa velocità, ma cambiasse il "rimbalzo".

  8. #8
    Vabbè, anche in AS3 si poteva fare con le tween ^^

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.