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"