###前提・実現したいこと
javascriptで画像を配置し、アニメーションを行えるような関数を制作しています。複数回インスタンス生成したいので、「this.変数名」を使って様々な値を設定したいのですが、参照している場所が思い通りにいきません。
実現したいことは、最初に座標の値を保持する変数を0で初期化したのち、描画の関数の引数で座標を指定し、それを上の変数で記録です。
###該当のソースコード
javascript
1function Character(URL) { 2 this.x = 0; 3 this.y = 0; 4 this.width = 0; 5 this.height = 0; 6 //画像配置 7 var pict = new Image(); 8 pict.src = URL; 9 10 //描画(引数は、canvas名,x座標,y座標,幅,高さ) 11 this.draw = function (ctx, x, y, width, height) { 12 //Charactor.xの部分を参照したい 13 this.x = x; 14 this.y = y; 15 this.width = width; 16 this.height = height; 17 18 //URLが入っていたら画像をキャンバスに書き込む 19 if (pict.src != "") { 20 pict.onload = function () { 21 console.log("" + this.x + "" + this.y + ""); 22 ctx.save(); 23 ctx.drawImage(pict, this.x, this.y,); 24 ctx.restore(); 25 } 26 27 } 28 } 29} 30
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/07 10:46