Моя проблема в том, что линия ничья мгновенно.медленно анимировать простую линию
То, что я хочу, это Нарисуйте линию очень медленно, почти за 3-5 секунд до этого заканчивается на dy
. По какой-то причине я не могу заставить setTimeout()
работать. Я пробовал большие и маленькие значения.
У меня только пример базовой строки, но я буду расширять эту концепцию, чтобы включить x
и bezier lines
, как только я смогу понять, как работает тайм-аут.
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
function myLine(x, y, dx, dy) { //Line constructor
this.x = x; //start x
this.y = y; //start y
this.dx = dx; //end x
this.dy = dy; //end y
}
var line = new myLine(100, 5, 100, 100); //line object
function drawLine(myLine, context) { //Draw function
context.moveTo(myLine.x, myLine.y);
animate(line, context);
}
function animate(myLine, context) { //animation function
if (myLine.y < myLine.dy) {
myLine.y = myLine.y + 1;
context.lineTo(myLine.dx, myLine.y);
context.stroke();
window.setTimeout(animate(line, context), 1000/60);
}
}
drawLine(line, context);
можно использовать jQuery или это нужно делать только с помощью javaScript? – alpha
Я могу использовать jQuery. –