2016-10-23 85 views
-3

我試圖運行這個代碼,其中構造函數是球的功能,並且ball.prototype.draw是應該包含代碼的原型。帆布小問題

似乎無法顯示球的繪圖。

var canvas = document.getElementById('ok'); 
var d = canvas.getContext('2d'); 
function Ball() { 
    ok = 100; 
    okk = 100; 
}; 

var circle = function(x, y, radius, fillCircle){ 
    d.beginPath(); 
    d.arc(x, y, radius, 0, Math.PI * 2, false); 
    if(fillCircle){ 
    d.fill(); 
    } else{ 
    d.stroke(); } }; 

Ball.prototype.draw = function() { 
    d.lineWidth = 2; 
    d.strokeStyle = "black"; 
    d.fillStyle = "red"; 
    circle(ok, okk, 30, true); }; 

Ball.prototype.draw(); 
+2

歡迎來到Stack Overflow!請[參觀],環顧四周,並通讀[幫助],尤其是[*我如何提出一個好問題?](/ help /如何問) –

+1

當你問你問題,在文本區域右側有一個很大的橙色**如何格式化**框,其中包含有用的信息。還有一個格式化輔助工具的整個工具欄。和一個** [?] **按鈕提供格式幫助。 *和*位於文本區域和「發佈您的問題」按鈕之間的預覽區域(以便您必須滾動查看按鈕才能找到該按鈕,以鼓勵您查看該按鈕),以顯示帖子在發佈時的樣子。明確你的帖子,並證明你花時間這樣做,提高你獲得良好答案的機會。 –

+2

您的標題應該是您的問題的簡短版本,而不是要求幫助。你需要包括一個明確的描述,說明代碼是什麼意思,以及你對它有什麼**特定的問題。 –

回答

0

在JS中使用原型時,您仍然需要實例化您正在建模的對象的新實例。

所以你的代碼很好,除了最後一行;相反,你想創建一個新的球,然後調用它的成員函數draw,如下所示:

//Ball.prototype.draw(); 
var ball = new Ball(); 
ball.draw();