Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    simulazione doppio click

    Salve a tutti, io ho bisogno di trovare un modo per simulare il doppio click, come si fa normalmente per aprire le cartelle di sistema.
    Logicamente con flash!
    Io ho pensato che sia possibile sfruttando il comando getSeconds o getMillisecons, con i quali si potrebbe fare un controllo del tipo:
    se il secondo click avviene nello stesso secondo fa un'azione altrimenti ne fa un'altra...se non sono stato chiaro, riempitemi pure di domande, cioe' non mettetevi a mandarmi codici a ruota se avete il dubbio di quale e' il mio scopo, non sprecate energie inutilmente insomma!
    la vita è un "Flash"...
    ...utilizziamolo al meglio !

  2. #2

    dimenticavo....

    grazie in anticipo a chiunque rispondera'!!!
    la vita è un "Flash"...
    ...utilizziamolo al meglio !

  3. #3

  4. #4
    grazie mille, questo forum e' una cosa stupenda!
    la vita è un "Flash"...
    ...utilizziamolo al meglio !

  5. #5
    io ho una prototype per il doppio click .. ma non c'e' la gestione del singolo click, le problematiche annesse ad un doppio click sono diverse, tanto per cominciare devi permettere di clickare una sola volta e successivamente poter comunque fare il doppio click, poi devi impedire al primo click di fare qualcosa finche' non e' sicuro che in quel lasso di tempo non sia stato fatto un secondo click.


    Crea un movie , dagli nome di istanza myMovie e crea un layer vuoto, clickaci e scrivi quanto segue:
    codice:
    // Proto doppio click
    MovieClip.prototype.onDoubleClick = function(twoClicks) {
    	// andr3a - MX / MX 2004
    
    	var cTime = new Date();
    	var secondsTime = cTime.getMilliseconds() + (cTime.getSeconds()*1000);
    	if( this.firstClick != false && this.firstClick != undefined) {
    		var difTime = Math.abs(this.firstClick - secondsTime);
    		if( difTime<300 && difTime>0 ) {
    			this.firstClick = false;
    			twoClicks();
    		}
    		else {
    			this.firstClick = secondsTime;
    		}
    	}
    	else {
    		this.firstClick = secondsTime;
    	}
    }
    
    // Funzione di prova da richiamare al doppio click
    function alDoppioClick() {
    	trace("DOPPIO CLICK EFFETTUATO!");
    }
    
    // esempio di assegnazione DOPPIOCLICK in un evento onPress
    myMovie.onPress = function() {
    	this.onDoubleClick(alDoppioClick);
    }
    
    // N.B. non pasare parametri direttamente alla funzione "alDoppioClick"
    Ora testa e prova a fare tutti i click sfasati o non che vuoi.
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6

    come non detto ...

    c'ho appena rimesso le mani ed e' venuta fuori questa, ad una prima prova sembrerebbe ok, fatemi sapere se avete riscontrato problemi.

    codice:
    // Func checkDoubleClick [ use with MovieClip.prototype.onDoubleClick ]
    function checkDoubleClick(theMovie, oneClick) {
    	// andr3a - MX / MX 2004 
    	var cTime = new Date();
    	var secondsTime = cTime.getMilliseconds() + (cTime.getSeconds()*1000);
    	var fromMovie = theMovie.doubleCheck[(theMovie.doubleCheck.length-1)];
    	if( fromMovie!="done" && Math.abs(fromMovie - secondsTime) >= 300 ) {
    		clearInterval(theMovie.intervalDC);
    		oneClick();
    	}
    	else if( fromMovie=="done" ) {
    		clearInterval(theMovie.intervalDC);
    	}
    }
    // Proto double click
    MovieClip.prototype.onDoubleClick = function(oneClick, twoClicks) {
    	// andr3a - MX / MX 2004 [ need checkDoubleClick function ]
    	var cTime = new Date();
    	var secondsTime = cTime.getMilliseconds() + (cTime.getSeconds()*1000);
    	if( this.doubleCheck == undefined || this.doubleCheck[(this.doubleCheck.length-1)]=="done") {
    		this.doubleCheck = new Array(secondsTime);
    	}
    	var difTime = Math.abs(this.doubleCheck[(this.doubleCheck.length-1)] - secondsTime);
    	if( difTime < 300 ) {
    		this.doubleCheck.push("done");
    		twoClicks();
    	}
    	else {
    		this.doubleCheck.push(secondsTime);
    		this.intervalDC = setInterval(checkDoubleClick, 20, this, oneClick);
    	}
    }
    
    
    
    --------------- ------------------- ------------------ ------------
    
    // Funzione di prova da richiamare al doppio click
    function alClick() {
    	trace("1 click ...");
    }
    
    
    // Funzione di prova da richiamare al doppio click
    function alDoppioClick() {
    	trace("DOPPIO CLICK EFFETTUATO!");
    }
    
    // esempio di assegnazione DOPPIOCLICK in un evento onPress
    myMovie.onPress = function() {
    	this.onDoubleClick(alClick, alDoppioClick);
    }
    // N.B. non pasare parametri in modo diretto alle funzioni "alClick" e alla "alDoppioClick"
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7
    grazie mille andr3a....provero' e ti faro sapere
    la vita è un "Flash"...
    ...utilizziamolo al meglio !

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.