Visualizzazione dei risultati da 1 a 8 su 8

Discussione: rotazione sfera

  1. #1

    rotazione sfera

    Allora il mio problema è questo ...

    ho un mc sfera istanziato ball a cui associo questo codice

    codice:
    onClipEvent (load)
    {
        active = true;
        verifica = 0;
        dy = 1;
        dx = 0;
    
    }
    onClipEvent (enterFrame)
    {
        if (!active)
        {
            
    		return;
        } // end if
    
    	myx = this._x;
        myy = this._y;
        ++dy;
        if (verifica == true)
        {
            dy = 0;
            dx = 0;
        }
        else
        {
    	   	myx = myx + dx * 1.200000E+000;
            myy = myy + dy * 1.700000E+000;
    		if (myy > height - _height / 2)
            {
                dy = dy * -6.000000E-001;
                myy = height - _height / 2;
            }
            else if (myy < 10)
            {
                dy = dy * -1;
                myy = 10;
    			setProperty (this, _rotation, 0);
            } // end else if
            if (myx < 10)
            {
                setProperty (this, _rotation, 0);
    			dx = dx * -1;
    			myx = 10;
            }
            else if (myx > width - _width / 2)
            {
    
    			dx = dx * -9.600000E-001;
    			myx = width - _width/2;
            } // end else if
        } // end else if
        nuovo_x = vecchio_x;
        nuovo_y = vecchio_y;
        vecchio_x = myx;
        vecchio_y = myy;
        dx = dx * 9.600000E-001;
        this._x = myx;
        this._y = myy;
    }
    poi sul frame della scena invece ho questo codice

    codice:
    stop ();
       // _root.ball.active = false;
    Stage.scaleMode = "noScale";
    _global.height = 675;
    _global.width = 1020;
    
    
    ball.useHandCursor = true;
    ball.onPress = function ()
    {
        this.active = true;
        this.verifica = true;
        startDrag (this,true, 0,0,1000,620);
    };
    ball.onRelease = ball.onReleaseOutside = function ()
    {
        this.dx = this.vecchio_x - this.nuovo_x;
        this.dy = this.vecchio_y - this.nuovo_y;
        this.dx = this.dx / 2;
        this.dy = this.dy / 2;
        stopDrag ();
        this.verifica = false;
    };
    ora dovrei trovare il modo che una volta lanciata la sfera, ruoti su se stessa quindi implementare la rotazione... il problema e che ho provato a farlo ma non riesco a fermarla quando la palla finisce il suo movimento...
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  2. #2
    in questo modo la sfera ruota

    codice:
    ball.onEnterFrame = function(){ 
    _root.ball._rotation+=10;
    }
    ma il mio problema è che dovrebbe fermarsi quando non è in movimento....

    se la lancio a destra fare la rotazione verso destra e quando rimbalza e cambia direzione cambiare anche il senso di rotazione e ovviamente quando si riferma la sfera far fermare anche la rotazione...
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non ho letto lo script perchè è un po' lunghetto, ma sulla base del tuo secondo post, ti direi di creare una variabile di verifica... magari non di tipo Boolean, ma di tipo String, ed utilizzare la variabile nell'enterFrame, con una serie di if/else if, così da avere una roba tipo

    ball.onEnterFrame = function(){
    if(_global.rotate == "left"){_root.ball._rotation-=10;}
    else if(_global.rotate == "right"){_root.ball._rotation+=10;}
    else {delete this.onEnterFrame;}
    }

  4. #4
    avevo pensato anche io a una cosa del genere... ma non riesco a fermarla cmq... non riesco a gestirgli il movimento in contemporanea con la rotazione.... forse sbaglio a inserire la var nel codice...

    codice:
      if (verifica == true)
        {
            dy = 0;
            dx = 0;
        }
        else
        {
    		_global.rotate="left"; 		
    		myx = myx + dx * 1.200000E+000;
            myy = myy + dy * 1.700000E+000;
    non si ferma +
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  5. #5
    ho risolto basta aggiungere questo per la rotazione

    codice:
        if (verifica == true)
        {
            dy = 0;
            dx = 0;
        }
        else
        {
    		_root.ball._rotation+=dx;

    ciao
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  6. #6

    strano effetto

    adesso che la rotazione funziona il problema è un altro fa uno strano effetto...

    sembra ruotare decentrata anche se ho centrato il punto di registrazione e quello che andava fatto per sistemare ma non riesco a farlo andare... suggerimenti???
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova a nidificare il clip in un altro e assegnare al clip nidificato solo la rotazione, mentre al suo "padre" assegni tutto il resto, non so se sono stato chiaro

  8. #8
    provo vediamo cosa ne viene fuori
    Consulenza aziendale a 360° http://www.gruppodg.it http://www.gruppodg.it/3d
    Realizzazione siti internet, Siti Flash, Ricerca Location per bar negozi , esercizi commerciali, sviluppo pratiche e allestimento

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.