var ball = {
x: 20,
y: 500,
vx: 100,
vy: 100,
width: 13,
height: 13,
draw: function() {
var img = new Image();
img.src = 'images/ball.png';
img.onload = function(){
ctx.drawImage(img, this.x, this.y);
};
},
コードの drawImage() 行で ball.x と ball.y を参照する必要があります。ball.x と ball.y を使用する代わりに、"this" キーワードを使用して、ボール オブジェクトを大規模なコンストラクター/プロトタイプである関数に変換できるようにしたい (ball1、ball2 を作成できる) 、ball3 など)。ネストされた関数にあるため、「これ」はもうボールを参照していないと思いますか? ball.x と ball.y を drawImage 引数にハードコーディングせずにそれを回避する方法はありますか?