0
我需要一些幫助,我的腳本。我試圖讓我的canvas
上的鼠標隨着「亮點」一起移動,但它看起來比移動的方式更快。哪裏有問題?帆布徑向漸變動畫
<!DOCTYPE HTML>
<html>
<head>
<style>
body {
position:absolute;
margin: 0px;
padding: 0px;
}
canvas{
position: fixed;
height:900px;
Width:900px;
}
</style>
</head>
<body>
<canvas id="myCanvas"></canvas>
<script>
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
window.onmousemove=function(){
context.clearRect(0, 0, canvas.width, canvas.height);
context.rect(0, 0, canvas.width, canvas.height);
// create radial gradient
var grd = context.createRadialGradient(event.clientX, event.clientY, 5, event.clientX+20, event.clientY+20, 100);
// light blue
grd.addColorStop(0, '#ffffff');
// dark blue
grd.addColorStop(0.5, '#000000');
context.fillStyle = grd;
context.fill();
};
window.onclick= function(){
alert("X: " + event.clientX + " " +"Y: " + event.clientY)
}
</script>
</body>
</html>
所調整的CSS畫布,沒有設置自己的width和height屬性。上下文只知道這個屬性的大小,而不是顯示的(CSS)。另外請注意,在每次鼠標移動時創建漸變通常都是一個糟糕的主意。而是在離屏畫布上繪製一次漸變,然後在正確的位置繪製此屏幕外畫布。 – Kaiido
好吧,現在我明白了。謝謝 – Pawel