私はこれの初心者であり、これまでJavaScriptを実際に行ったことがないので、あなたが私を助けてくれることを願っています。ユーザーがラジオボタンで形と色を選択できるキャンバスを作成し、それをキャンバスに描画します。選択した色にグラデーションを追加するオプションを備えたチェックボックスも追加しました。プログラムは次のとおりです:http: //people.dsv.su.se/~caak1743/Canvas/canvas.html
シェイプをキャンバス領域の周りでドラッグアンドドロップできるようにするために、これを作成する必要はありません。そして、プログラムで動作するように変更できると思うコードを見つけましたが、次のようになります。TypeError:次の行に対してnull init(無名関数)のメソッド'getContext'を呼び出すことができません。
var ctx = canvas.getContext("2d");
何が悪いのか、どうすれば解決できるのかわかりません。同様の問題を抱えた同様のプログラムを探してみましたが、ここで適用できるものは見つかりませんでした。これが私が私のものに取り入れようとしているコードです:
function init() {
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
return setInterval(draw, 10);
}
function draw() {
clear();
ctx.fillStyle = "#FAF7F8";
rectangle(0,0,WIDTH,HEIGHT);
ctx.fillStyle = "#444444";
rectangle();
}
function myMove(e){
if (dragok){
x = e.pageX - canvas.offsetLeft;
y = e.pageY - canvas.offsetTop;
}
}
function myDown(e){
if (e.pageX < x + 15 + canvas.offsetLeft && e.pageX > x - 15 +
canvas.offsetLeft && e.pageY < y + 15 + canvas.offsetTop &&
e.pageY > y -15 + canvas.offsetTop){
x = e.pageX - canvas.offsetLeft;
y = e.pageY - canvas.offsetTop;
dragok = true;
canvas.onmousemove = myMove;
}
}
function myUp(){
dragok = false;
canvas.onmousemove = null;
}
init();
canvas.onmousedown = myDown;
canvas.onmouseup = myUp;