2016-08-29 1 views
0

J'ai essayé de créer deux boutons, un qui commence par un intervalle et l'autre qui l'arrête. Voici mon code:Intervalle de démarrage et d'arrêt à l'aide du bouton [as3]

s_start.addEventListener(MouseEvent.CLICK, startRepeater); 
s_stop.addEventListener(MouseEvent.CLICK, stopRepeater); 

function startRepeater(e:MouseEvent) : void { 
setInterval(repeater,500); 
} 

function stopRepeater(e:MouseEvent) : void { 
clearInterval(repeater); 
} 

Le bouton de démarrage fonctionne parfaitement! mais le bouton d'arrêt ne fonctionne pas. 1067: Coercition implicite d'une valeur de type Function à un type non lié uint.

Nous vous remercions de votre aide à l'avance.

+0

Bienvenue sur Stackoverflow. Vous avez une réponse correcte. Veuillez utiliser la grosse coche "correcte" pour marquer cette question comme résolue et pour montrer merci. –

+1

Pourquoi ai-je obtenu un -1 sur ce post lol – ProgramKiddo

+0

Cela n'a pas de sens, j'ai donc annulé +1. Je soupçonne que puisque les programmeurs qui écrivent des programmes pour ** spam ** ne sont pas gentils, c'est peut-être pourquoi vous avez eu une réaction négative aléatoire? ... –

Répondre

1

La fonction clearInterval accepte un entier non signé qui est un identifiant à l'intervalle que vous avez créé et non une fonction. Consultez ce tutorial pour plus d'informations.

Vous pourriez vouloir essayer quelque chose comme ça

var intervalId:uint; 

s_start.addEventListener(MouseEvent.CLICK, startspam); 
function startspam(e:MouseEvent):void { 
    intervalId = setInterval(spam,500); 
} 

s_stop.addEventListener(MouseEvent.CLICK, stopspam); 
function stopspam(e:MouseEvent):void { 
    clearInterval(intervalId); 
} 
+0

Pas besoin de suppositions. La fonction 'spam' fonctionne toutes les 500 ms à coup sûr. Sinon, c'est une bonne réponse. –

+0

spam n'a jamais été défini dans son code snipped c'est pourquoi je l'ai mentionné mais oui bon point une autre erreur aurait eu lieu si ce n'était pas une fonction. – davidejones