2017-02-19 73 views
-4

嗨,當我想創建一個新的Blob對象:錯誤調用對象的構造

function Blob(X,Y,R) { 
this.x = X; 
this.y = Y; 
this.r = R; 

this.show = function (ctx) { 
    ctx.arc(this.x,this.y,this.r,0,2*Math.PI,false); 
    ctx.fill(); 
} 

this.moveTo = function(x,y,ctx){ 
    ctx.strokeStyle = "#ffffff" 
    ctx.arc(this.x,this.y,this.r,0,2*Math.PI,false); 
    ctx.fill(); 
    ctx.strokeStyle = "#000000" 
    ctx.arc(x,y,r,0,2*Math.PI,false); 
    ctx.fill(); 
} 

    var myBlob = new Blob(250,250,50); 
    blob.show(ctx); 

當我創建的對象,我得到一個錯誤信息:

遺漏的類型錯誤:無法構造「斑點」:第一個參數既不是數組,也沒有索引屬性。

+1

這不是Blob的工作原理。仔細閱讀文檔。 – Xufox

+1

不太清楚你要在這裏做什麼。你是否試圖創建一個實際的Blob:https://developer.mozilla.org/en-US/docs/Web/API/Blob?如果是這樣,那些論點是不正確的,我敢肯定,你不會這樣做。 – thesublimeobject

+0

好人傢伙JUST IMAGINE BLOB將會是圈子或所以 – motschel123

回答

0

您需要提供完整的代碼。

隨着你在那裏,你沒有一個名爲Blob的類。你也沒有一個叫show的功能。

也許看看https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes欲知更多信息。

class BlobClass { 
    constructor(x, y, r) { 
    this.x = x; 
    this.y = y; 
    this.r = r; 
    } 

    get show() { 
    ctx.strokeStyle = "#ffffff" 
    ctx.arc(this.x,this.y,this.r,0,2*Math.PI,false); 
    ctx.fill(); 
    } 
} 

const blob = new BlobClass(10, 10, 10); 

blob.show() 

這應該做我認爲你想要做的。你可能不會命名Blob類,因爲這是特性中的buildt的名字。

0

不確定你想要達到什麼目的,但是因爲錯誤消息說你在創建blob時傳遞了錯誤的參數。例如,您可以傳遞一個列表,以便創建一個blob:

var myBlob = new Blob([250,250,50]); 

但請提供更多詳細信息。