2016-08-29 4 views
0

Я попытался сделать две кнопки, начиная с интервала, и один, который останавливает его. Это мой код:Пуск и остановка интервала с помощью кнопки [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); 
} 

Кнопка запуска отлично работает! но кнопка остановки не работает. 1067: Неявное принуждение значения типа Функция к неродственному типу uint.

Благодарим за помощь.

+0

Добро пожаловать в Stackoverflow. У вас есть правильный ответ. Пожалуйста, используйте большой «правильный» тик, чтобы отметить этот вопрос, как он решил и показать спасибо. –

+1

Почему я получил -1 на этом сообщении lol – ProgramKiddo

+0

Не имеет смысла, поэтому я сделал отмену +1. Я подозреваю, что, поскольку кодеры, которые пишут программы для ** спама **, не являются хорошими людьми, возможно, поэтому у вас возникла случайная негативная реакция? ... –

ответ

1

Функция clearInterval принимает целое число без знака, которое является идентификатором, к интервалу, который вы создали не как функцию. Проверьте это tutorial для получения дополнительной информации.

Таким образом, вы можете попробовать что-то вроде этого

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

Не нужно делать предположения. Функция 'spam' работает каждые 500 мс. В противном случае это правильный ответ. –

+0

Спам никогда не определялся в его коде, поэтому я упомянул об этом, но да, хорошая ошибка, если бы это не была функция. – davidejones

 Смежные вопросы

  • Нет связанных вопросов^_^