【发布时间】:2014-06-25 08:42:58
【问题描述】:
我正在为我们正在开发的游戏修改一个模块,它是使用 ImpactJS 游戏引擎构建的。我们想要做的是使变量私有或其他类无法访问。
例如:
this.object.variable = 100; // Not okay.
this.object.setVariable( 100 ); // Okay.
ig.module(
'game.data.server'
).requires(
).defines(function(){
ServerData = ig.class.Extend({
_variable : -1,
get variable() {
return this._variable ;
},
setVariable: function( value ) {
this._variable = value;
}
});
});
但是JavaScript setter and getter return different outputs
我们无法进行多次修改,因为我们正在开发的其他游戏也可以访问。
有没有更好的解决方案?
【问题讨论】:
-
谢谢,杰森!我会检查一下。
-
@JasonSperske:可能不依赖于 ImpactJS 的
extend函数...应该在 JSFiddle 中测试。 -
关闭/显示模块化模式是一种选择。有了它,您可以将某些变量指定为私有变量。
-
我想我贴了写的sn-p。对不起。
标签: javascript html setter getter impactjs