在 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;
el.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);
我对面向对象编程还很陌生,所以我什至不知道我的词汇是否正确。我正在尝试做什么以及正确的方法是什么?