Я использую EaselJS и хочу создать мигающий цветной прямоугольник, который будет мигать определенное количество раз при нажатии кнопки, отображая случайные цвета из массива. Он должен остановиться после 10 вспышек цвета, а затем я хочу извлечь окончательный цвет.
Пока соответствующий код у меня есть:
var colorArray = ["#FE7B62","#CB2DD3","#F1FD66","#004CE8","#FFD068", "#02A97E"];
square = new createjs.Shape();
square.graphics.beginFill("#000").drawRoundRect(850, 50, 100, 100, 20);
function pushButton(event) {
square.graphics.inject(animateColor);
}
function animateColor(event) {
this.fillStyle = colorArray[parseInt(Math.random()*6)];
}
Этот код успешно запускает мигание цветов из моего цветового массива, но я не уверен, как лучше всего запустить анимацию для ограниченного числа кадров. Я попытался приостановить тикер и перезапустить его по нажатию кнопки, но это не удалось. Я также пытался использовать цикл for в функции pushButton, но это вызвало «слишком много ошибок рекурсии» в браузере. Вот моя полная ссылка на файл https://github.com/RMehta95/sherman-land/blob/master/main.js.