我在使用 fillrect(x, y, width, height) 时遇到了两个奇怪的问题。
将“高度”的值乘以 2
X 和 y 应该设置为鼠标位置,但矩形远离左下角,并且随着鼠标移动到左下角而变得更远。
这段代码来自一个视频教程,代码似乎适用于这个人和视频,以及其他所有人,因为没有人评论有同样的问题。无论如何,这里是代码:
function doFirst(){
canv = document.getElementById('canvas');
canvas = canv.getContext('2d');
document.addEventListener("mousemove", onMouseMove, false);
}
function onMouseMove(e){
canvas.clearRect(0, 0, canv.width, canv.height);
var x = e.clientX;
var y = e.clientY;
canvas.fillRect(x, y, 50, 50);
}
window.addEventListener("load", doFirst, false);
我想也许我错过了教程中的一步,在一遍又一遍地检查之后,我决定将它简化为只绘制一个没有鼠标侦听器的矩形,但画布仍然以 2 倍的高度和大约 2 倍的 y 位置绘制它。
function doFirst(){
canv = document.getElementById('canvas');
canvas = canv.getContext('2d');
canvas.fillRect(10, 10, 50, 50);
}
window.addEventListener("load", doFirst, false);
就在前几天我第一次开始使用 HTML5 画布时,fillRect 函数运行良好,那么发生了什么?我是怎么打破它的?