我使用画布以间隔生成随机颜色的对象。我想要做的就是将物体淡化成白色,就像它们渐渐变成雾。画布 - 淡出案例
我想实现这一点,而不需要重绘每一帧中的每个对象。相反,我在对象之间放置白色层(具有小的不透明度),以便它能够淡化效果。
这是我目前的做法: http://jsfiddle.net/zettam/pUVkA/26/
var cvas = document.getElementById("ctxt");
var cx = cvas.getContext("2d");
function randomColor(num) {
return Math.floor(Math.random() * num);
}
setInterval(function() {
var r = randomColor(255);
var g = randomColor(255);
var b = randomColor(255);
cx.fillStyle = "rgba(" + r + "," + g + "," + b + ",1.0)";
cx.fillRect(200*Math.random(), 200*Math.random(), 300*Math.random(), 300*Math.random());
}, 200);
setInterval(function() {
cx.fillStyle = "rgba(255,255,255,0.025)"
cx.fillRect(0, 0, 500, 500);
}, 20);
Asyou可以看到,物体不会淡出到全白,而是他们留在某处灰色。
我怎样才能实现我所需要的,而不必重新绘制每一帧的一切?
谢谢。
但随后淡出变得如此之快。我想要一个微妙的衰落。 – Mia