캔버스를 사용하여 간격이있는 임의의 색상이 지정된 오브젝트를 생성하고 있습니다. 제가하고 싶은 것은 안개 속으로 퇴색하는 것처럼 피사체를 희색 성으로 퇴색시키는 것입니다.Canvas - 페이드 아웃 케이스
모든 프레임에서 모든 개체를 다시 그리지 않고도이 작업을 수행하고 싶습니다. 대신, 나는 작은 불투명도를 가진 오브젝트들 사이에 흰색 레이어를 넣어서 페이드 아웃 효과를줍니다.
여기에 내 현재의 접근 방식 : 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