Visualizzazione dei risultati da 1 a 4 su 4

Discussione: scroll di un clip

  1. #1

    scroll di un clip

    Ciao a tutti,
    ho creato uno scroll di un clip usando questo script

    var my_root=this;
    var newPosY= Math.round(quadro._y);

    function mov(clip,x,y,vel){//
    clip.onEnterFrame = function() {
    b=Math.abs(y-this._y)
    a=Math.abs(x-this._x)
    this._x += (x-this._x)/vel ;
    this._y += (y-this._y)/vel ;
    if (a <= 0.5 && b <= 0.5){
    delete this.onEnterFrame;
    }
    }
    }

    my_root.sopra.onPress= function (){
    if(quadro._y <= 145){
    newPosY += 70;
    mov(quadro,x,newPosY,3);
    }
    }
    my_root.sotto.onPress= function (){
    if(quadro._y >= 16){
    newPosY -=70;
    mov(quadro,x,newPosY,3);
    }
    }
    però non capisco perchè mi crea questo casino cioè se clicco in modo veloce più volte le freccie che mi fanno muovere il clip non si ferma nel punto che dovrebbero fermarsi come se calcolasse in modo errato la misura che gli ho dato... dove sbaglio!

    grazie mille!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: scroll di un clip

    l'onPress si sovrappone creando un errore nel calcolo della nuova posizione, puoi fare in modo che il pulsante sia enabled=false una volta cliccato, e una volta finito il movimento sia di nuovo true, tradotto
    codice:
    var my_root=this;
    var newPosY= Math.round(quadro._y);
    
    function mov(clip, x, y, vel, pulsante){//
    	clip.onEnterFrame = function() {
    		b=Math.abs(y-this._y)
    		a=Math.abs(x-this._x)
    		this._x += (x-this._x)/vel ;
    		this._y += (y-this._y)/vel ;
    		if (a <= 0.5 && b <= 0.5){
    			delete this.onEnterFrame;
    			pulsante.enabled = true;
    		}
    	}
    }
    
    my_root.sopra.onPress= function (){
    	this.enabled = false;
    	if(quadro._y <= 145){
    		newPosY += 70;
    		mov(quadro, x, newPosY, 3, this);
    	}
    }
    
    my_root.sotto.onPress= function (){
    	this.enabled = false;
    	if(quadro._y >= 16){
    		newPosY -=70;
    		mov(quadro, x, newPosY, 3, this);
    	}
    }
    se non dovesse andare è un problema di percorsi, magari invece di this nel richiamo metti il percorso assoluto del clip che fa da pulsante

  3. #3
    perfetto grazie di cuore funziona!

  4. #4
    Scusate...ma questo codice può essere utile per evitare una scrollPane?

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.