Visualizzazione dei risultati da 1 a 9 su 9

Discussione: moto smorzato

  1. #1

    moto smorzato

    ciao, ho dei pulsanti che si duplicano in base ai dati prelevati da xml, vorrei farli muovere con moto smorzato x farli piazzare in un punto dello stage ma mi si sovrappongono anche se cambio i parametri dello script:

    for (t=0;t<_root.dipen.length; t++){
    _root.arrivo=_root.arrivo+_root.distacco
    duplicateMovieClip("_root.grafica.pul", "pul"+t, 100+t);
    setProperty("pul"+t, _y, ((t*_root.h)+_root.yinizio));
    _root.grafica["pul"+t].pulstext.text=_root.dipenpuls[t];
    _root.grafica["pul"+t].onRelease = function(){
    trace(this._name+" è stato cliccato");
    }
    _root.grafica["pul"+t].onRollOver = function(){
    this.gotoAndStop("pulsover");
    }
    _root.grafica["pul"+t].onRollOut = function(){
    this.gotoAndStop("pulsup");
    }
    //_root.grafica["pul"+t].onLoad = function(){
    //}
    _root.grafica["pul"+t].onEnterFrame = function(){
    if(this._y>=_root.arrivo){
    this._y=(this._y-10)/2;
    }
    }
    }

    questi sono i parametri:

    stop();
    var filexml:String = new String("");
    _root.filexml = "pulsanti.xml";
    var h:Number = new Number();
    _root.h = 26;
    var yinizio:Number = new Number();
    _root.yinizio=1000;
    var arrivo:Number = new Number();
    var n:Number = new Number();
    _root.arrivo=-800
    var distacco:Number = new Number();
    _root.distacco=370

    kome potrei modificare il codice per farli distaccare e non farli sovrapporre??li vorrei fare spostare insieme senza sovrapporli anche verso sotto pensavo modificando il parametro _root.arrivo!

  2. #2
    ma da quello che ho capito vedendo velocemente lo script il parametro di arrivo è lo stesso x tutti i clip xciò si sovrappongono

    if(this._y>=_root.arrivo){


    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    si ho provato a differenziarlo così ma non mi è riuscita la cosa!!

    codice:
    for (t=0;t<_root.dipen.length; t++){
    		duplicateMovieClip("_root.grafica.pul", "pul"+t, 100+t);
    		setProperty("pul"+t, _y, ((t*_root.h)+_root.yinizio));
    		_root.grafica["pul"+t].pulstext.text=_root.dipenpuls[t];
    		_root.grafica["pul"+t].onRelease = function(){
    			trace(this._name+" è stato cliccato");
    		}
    		_root.grafica["pul"+t].onRollOver = function(){
    			this.gotoAndStop("pulsover");
    		}
    		_root.grafica["pul"+t].onRollOut = function(){
    			this.gotoAndStop("pulsup");
    		}
    		//_root.grafica["pul"+t].onLoad = function(){
    		//}
    		ease = function( what:MovieClip , to:Number ){ 
    			what.onEnterFrame = function(){
    				var distance:Number = _root.to - this._y; 
    				var newDistance:Number = distance / _root.speed; 
    				this._y = _root.to - newDistance;
    			}
    		}		ease(_root.grafica["pul"+t],(_root.to+_root.distacco*t ));
    			
    	}
    con questi parametri:
    codice:
    var distacco:Number = new Number();
    _root.distacco=100
    var speed:Number = 2; 
    var to:Number = 100;

  4. #4
    se provi ad agire sul controllo
    con una cosa del genere

    da
    _root.grafica["pul"+t].onEnterFrame = function(){
    if(this._y>=_root.arrivo){
    this._y=(this._y-10)/2;
    }

    a

    distanza=_root.arrivo+(t*50)

    _root.grafica["pul"+t].onEnterFrame = function(){
    if(this._y>=distanza){
    this._y=(this._y-10)/2;
    }
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    ho provato facendo la funzione ease
    e dando questi parametri
    ease(_root.grafica["pul"+t],(_root.to+_root.distacco*t ));
    ma niente, kome dovrei fare invece?

  6. #6
    ho provato anke così:

    codice:
    ease = function( what:MovieClip , to:Number ){ 
    			what.onEnterFrame = function(){
    				var distance:Number = _root.ypos[t] - this._y; 
    				var newDistance:Number = distance / _root.speed; 
    				this._y = _root.ypos[t] - newDistance; 
    			}
    		}
    		ease(_root.grafica["pul"+t],(_root.ypos[t]));
    		trace(_root.ypos[t]);
    dove
    codice:
    var ypos:Array = new Array();
    for(l=0;l<10;l++){
    	ypos[l]=(50*l)+_root.to
    }
    ma mi si sovrappongono!!
    forse dovrei inserire un
    delete this.onEnterFrame;
    per fare interrompere lo script prima!!per favore mi aiutate!!

  7. #7
    ma hai provato come ho detto prima??

    cosa succede?
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  8. #8
    ciao crescenzo, ci sono riuscita con questo codice:
    codice:
    function SaliPulsanti(){
    	ease = function( what:MovieClip , to:Number,n:Number){ 
    		what.onEnterFrame = function(){
    			var distance:Number = _root.ypos[n] - this._y; 
    			var newDistance:Number = distance / _root.speed; 
    			this._y = _root.ypos[n] - newDistance;
    		}
    	}
    	for(r=0;r<_root.ypos.length;r++){
    		ease(_root.grafica["pul"+r],_root.ypos[r],r);
    	}
    }
    grazie del tuo aiuto, auguri di buon anno!!

  9. #9
    ok l'importante è risolvere



    auguri di buon anno anche a te!
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

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.