有許多方法可以在JavaScript中調用函數,但由於某些原因,這對我來說不起作用。有人能告訴我我做錯了什麼嗎?將方法添加到JavaScript函數
我嘗試了原型(例如gameObject.prototype = {};)但由於某種原因,這並不起作用。現在我只是試圖直接在函數內分配方法,並且它甚至沒有工作。
這張圖片有什麼問題?
function gameObject(){
this.o={};
this.setimage=function(i){
this.o.img=i;
};
this.setDimensions=function(w,h){
this.o.width=w;
this.o.height=h;
};
this.setPosition=function(x,y){
this.o.x=x;
this.o.y=y;
};
this.create=function(){
var el=document.createElement("div");
el.className="object "+this.o.cname;
el.style.width=width*this.o.w;
e.style.height=height*this.o.h;
el.style.position="absolute";
el.style.top=height*this.o.y;
el.style.left=width*this.o.x;
map.appendChild(el);
};
this.setClass=function(c){
this.o.cname=c;
};
return this.o;
}
我想是這樣的:
var d=new gameObject(); d.setClass("class"); d.setDimensions(0.8,0.15);
等等,等等等等
我還是相當新的面向對象編程,所以我甚至不知道如果我的詞彙是正確的。我想要做什麼以及準確地做到這一點的正確方法是什麼?
你爲什麼從構造函數返回'this.o'?我會放棄這一點,並且你的代碼應該可以工作。 –
順便說一句,你期望使用多少個遊戲對象? –
考慮到我想允許用戶創建他們自己的遊戲內物體,這是一個可變的數量。 –