我正在尝试使用游戏中的按钮停止 setTimeout,但是当我单击该按钮时,我会返回菜单并且计时器会继续。有人可以帮助我吗?
Ps 我在中间剪了很多代码以使其更小
this.stop();
///////////////////////////////////////////////////////////////////////////////////////////////////////
// gestion du temps
///////////////////////////////////////////////////////////////////////////////////////////////////////
this.leTimeOut = window.setTimeout(punir.bind(this), 31000);
this.lInterval = window.setInterval(afficherTemps.bind(this), 1000);
/////////////////////////
Cutted section
////////////////////////
console.info("!!! "+nbMatchs+" !!!");
this.txtItems.text = ""+(6-nbMatchs);
if(nbMatchs == 6){
window.clearTimeout(this.leTimeOut);
this.gotoAndStop("FinNiveau1");
}
return bonnePosition;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction pour lancer la punition
///////////////////////////////////////////////////////////////////////////////////////////////////////
function punir(evt){
console.log("temps écoulé");
this.gotoAndStop("EchecNiveau1");
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction d'affichage du temps
///////////////////////////////////////////////////////////////////////////////////////////////////////
this.txtTimer.text = "29";
function afficherTemps(evt){
this.txtTimer.text = parseInt(this.txtTimer.text)-1;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Fonction et écouteur du bouton Annuler
///////////////////////////////////////////////////////////////////////////////////////////////////////
this.btRetour.evenementClick = this.btRetour.on("click", onClicA);
function onClicA(evt) {
console.log("retour au menu");
clearTimeOut(this.leTimeOut);
evt.remove(); //retrait de l'écouteur (la méthode facile!)
this.parent.gotoAndStop("Intro");
}