Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Scroll su mouseOver

  1. #1

    Scroll su mouseOver

    ciao a tutti
    premetto che con action script sono un totale imbranato quindi la domanda che sto per fare farà sorridere molti MA io sn in difficoltà xD

    Ho un movieclip (nome istanza fStrip) che deve scorrere quando il mouse entra in due particolari aree del filmato. Ho fatto un tentativo e funziona... o quasi

    il codice è impostato su onMouseMove il che è un problema non di poco conto perchè l'utente non deve essere costretto a muovere il mouse per continuare lo scroll ma dovrebbe poter lasciare il mouse fermo.

    codice:
    var mouseListener:Object = new Object();
    mouseListener.onMouseMove = function() {
    	if((fStrip._y<=110)&&(fStrip._y>=-26)){
    		//Mouse in alto sposta clip in basso
    		if((_ymouse>110)&&(_ymouse<=200)&&(fStrip._y>-26)&&(_xmouse<=110))
    			fStrip._y-=1;
    
    		//Mouse in basso sposta clip in alto
    		if((_ymouse>=510)&&(_ymouse<600)&&(fStrip._y<110)&&(_xmouse<=110))
    			fStrip._y+=1;
    	}
    };
    Mouse.addListener(mouseListener);
    questo è quello che ho fatto io ma penso che vada radicalmente cambiato perchè se imposto il mouseover ho bisogno di un timeout tra un movimento e l'altro... penso.. xD
    qualcuno sa aiutarmi?

  2. #2
    allora... ho fatto un piccolo cambiamento...

    nelle azioni del fotogramma:
    codice:
    fStrip.onRollOver = function(){
    	_root.scrollMenu=true;
    };
    
    fStrip.onRollOut = function(){
    	_root.scrollMenu=false;
    };
    come faccio a creare una funzione che, quando la variabile _root.scrollMenu == true mi sposta il mio movie clip a intervalli regolari di un pixel?

    tipo:
    codice:
    function(){
    	if(_root.scrollMenu==true){
    		if((fStrip._y<=110)&&(fStrip._y>=-45)){
    			//Mouse in alto sposta clip in basso
    			if((_ymouse>65)&&(_ymouse<=154)&&(fStrip._y<110)&&(_xmouse<=165)&&(_xmouse>=55))
    				fStrip._y+=1;
    	
    			//Mouse in basso sposta clip in alto
    			if((_ymouse>=510)&&(_ymouse<600)&&(fStrip._y>-45)&&(_xmouse<=165)&&(_xmouse>=55))
    				fStrip._y-=1;
    		}
    
    	}
    }
    DOVE e COME devo inserire questa funzione per fare in modo che ogni tot millisecondi venga richiamata?

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Se fStrip è un MovieClip, puoi usare il suo evento onEnterFrame per richiamare ogni tot (in base al framerate del filmato) le azioni indicate. Con onEnterFrame non c'è neanche bisogno di inserire una variabile di controllo, basta che lo blocchi quando esci dal pulsante annullandolo

    Codice PHP:
    fStrip.onRollOver = function() {
        
    this.onEnterFrame = function () {
            
    // incremento o decremento per lo spostamento
        
    }
    };

    fStrip.onRollOut = function(){
        
    this.onEnterFrame null;
    }; 

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,774
    Ciao.

    Sinceramente non ho ben capito cosa devi ottenere di preciso.
    Comunque puoi fare in diversi modi.

    Puoi usare l'evento onEnterFrame che viene richiamato all'esecuzione di ogni frame (in base alla frequenza fotogrammi impostata per il filmato).

    Puoi usare la funzione setInterval con cui richiamare una tua funzione ad intervalli regolari espressi in millisecondi.

    Un'alternativa può essere quella di utilizzare una delle varie classi tween per creare direttamente la transizione che ti serve. In tal caso ti consiglierei la classe caurina.transitions.Tweener.

    edit: Scusa and80, non ho visto il tuo post.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    ecco onEnterFrame è quella che ho usato io, killerworm!
    and80 ha capito xfettametne cosa mi serviva xD

    in ogni caso vi ringrazio ma per un lampo di genio, cosa per me rarissima U_U, me la sono cavata prima di leggere le vostre risposte xD

    semplicemente non sapevo dell'esistenza dell'evento onEnterFrame, quando l'ho scovato mi si è aperto un mondo ahah

    grazie ancora!

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.