fillrect(x、y、width、height)で2つの奇妙な問題が発生しています。
「高さ」の値に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倍、y位置の約2倍で描画しました。
function doFirst(){
canv = document.getElementById('canvas');
canvas = canv.getContext('2d');
canvas.fillRect(10, 10, 50, 50);
}
window.addEventListener("load", doFirst, false);
先日、HTML5キャンバスで遊び始めたとき、fillRect関数は正常に機能していましたが、どうなりましたか?どうやって壊したの?