我想从子类 Camera 中的覆盖设置器中调用超类 SceneNode 中的设置器“转换”。
这些类看起来像这样:
场景节点:
function SceneNode(){
this._transform = M4x4.I;
}
SceneNode.prototype.__defineSetter__("transform",
function(transform){
this._transform = transform;
}
);
SceneNode.prototype.__defineGetter__("transform",
function(){
return this._transform;
}
);
相机:
function Camera(){
}
Camera.prototype = new SceneNode();
Camera.base = SceneNode.prototype;
Camera.prototype.__defineSetter__("transform",
function(transform){
Camera.base.transform.call(this, transform);
this.updateViewMatrix();
}
);
Camera.prototype.__defineGetter__("transform",
function(){
return this._transform;
}
);
这不起作用,因为“Camera.base.transform”没有根据 Firefox 定义。我以前叫“Camera.base.setTransform.call(this, transform);” 之前,这行得通,但是自从我了解了 setter 和 getter 后,我试图摆脱 setXXX 函数。