所以我想要一个名为的类client
,它将成为我用 JavaScript 编写的视频游戏的基础。
client
应该是一个只能有一个实例的类,但它的第一次创建应该由我自己在特定事件中设置,例如当用户单击“开始”按钮时。
我给自己做了一个单例类,我开始卸载它只是为了测试:
// Singleton class for the client
var client = (function() {
// Public methods
var _this = {
construct: function() {
delete _this.construct;
_this.director = new lime.Director(document.body, window.innerWidth, window.innerHeight); // Setup the rendering engine
}
}
return _this;
})();
// Fire when dependencies are loaded
window.onload = client.construct;
问题:
但我打算将其作为一个开源项目,最后一行client.construct
似乎是一个非常不寻常的约定。我怎样才能编写我的单例类,以便它可以被构造new Client
并且永远不能再次构造?