【发布时间】:2016-10-23 10:16:58
【问题描述】:
我正在尝试使用 HTML5 画布使用 javascript 编写一个足够简单的动画。这是一张雨滴的图像,我想无缝地制作动画。这是图片:
https://s31.postimg.org/475z12nyj/raindrops.png
这就是我目前制作动画的方式:
function Background() {
this.x = 0, this.y = 0, this.w = bg.width, this.h = bg.height;
this.render = function() {
ctx.drawImage(bg, 0, this.y++);
if (this.y <= -199) { //If image moves out of canvas, reset position to 0
this.y = 0;
}
}
}
不过,我面临两个问题。
- 我根本无法让图像循环播放。它只是掉了一次,我需要把它放在一个循环上,这样当它开始离开画布时它会再次继续。
- 一旦我知道如何正确循环它,就会出现一个问题,即雨水不会完全垂直落下。如图中的雨滴所示,它需要沿对角线落下。
这就是它不再是一个足够简单的动画的地方。
这是我的fiddle,它包含了我所有的代码。非常感谢。
PS:我会在 Javascript 或 CSS 方面寻求任何帮助。但我确实需要雨效果才能只使用图像!不幸的是,我无法接受其他任何事情。
【问题讨论】:
-
this.y从0开始,并在增加this.y++,但你等到它变成<0;甚至this.y <= -199。您必须等待相当长的时间才能发生这种情况;)
标签: javascript html animation canvas