2017-01-13 10 views
0

私はこれをうまく動作させる方法を知りたいと思います。関数drawの引数 gは、JavaScriptキャンバスオブジェクトのグラフィックスコンテキストになります。私が欲しいもの自分自身を描く方法を知っている形のクラスを作る

が言うことができるようにすることです

var c = document.getElementById("canvas"); 
var g = c.getContext("2d"); 
b = new Ball(300,200, 50, "red"); 
b.draw(g) 

で、半径は50pxの中央(300200)の赤いボールの塗料を持っています。 ここにクラスのコードがあります。

class Ball 
{ 
    constructor(x, y, radius, color) 
    { 
     this.x = x; 
     this.y = y; 
     this.radius = radius 
     this.color=color; 
    } 
    draw(g) 
    { 
     console.log(g.fillStyle); 
     g.fillStyle = this.color; 
     g.beginPath() 
     //g.arc(this.x, this.y, this.r, 0, 2*Math.PI); 
     //correct is below..... 
     g.arc(this.x, this.y, this.radius, 0, 2*Math.PI); 
     g.fill(); 
    }  
} 

ご協力いただきありがとうございます。私はブラウザでECMA6を有効にしています。コンソールはエラーメッセージを表示しません。

答えて

3

draw()にタイプoがあります。構成変数と一致するようにthis.rthis.radiusに変更してください。

+0

ありがとうございました。これは私が見たことのない "ダムの間違い"の一つです。新鮮な眼のペアが役立ち、あなたはそれを提供しました。 – ncmathsadist

関連する問題