在x秒的时间后在画布上显示图像
问题描述:
我想在5秒后画一幅图像到画布上。一旦它被吸引,我希望它稍微向下移动屏幕,然后停下来。在x秒的时间后在画布上显示图像
有没有办法做到这一点?
这里是我试过的技术:
我有图像向下移动使用一个简单的for循环和图像的 美星物业画布。然而,图像直接显示 没有延迟5秒。
答
假设图像寻找延迟使用onload
你可以这样做是否正确装入:
var img = new Image();
img.onload = ready;
img.src = "...";
function ready() {
var maxY = 200, y = 0;
setTimeout(animate, 5000); // delay animation
function animate() {
ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
ctx.drawImage(img, 0, y);
y++;
if (y < maxY) requestionAnimatinFrame(animate); // continue until criteria
}
}
调整如所须。
答
使用setTimeout函数,第二个参数代表你以毫秒为单位
window.setTimeout(function() { //do you work here }, 5000);
+0
...以及关于问题的“移动”部分:Html画布图不能被移动或删除 - 它们在画布上是干燥的油漆。相反,您必须清除画布并在其“已移动”位置重绘任何所需内容(或不重绘内容以“删除”该内容)。 – markE 2015-03-02 16:36:22
是的。你试过什么了? – 2015-03-02 14:30:48
你有什么尝试吗? – meo 2015-03-02 14:31:05
是的,我使用图像的简单for循环和maxY属性将图像向下移动。然而,图像直接显示没有5秒的延迟。 – raymar 2015-03-02 14:34:32