我正在构建一个基于网页的文本冒险游戏,比如银河系漫游指南或Zork系列。我在本场比赛中保存物品,比如场地或玩家数据,放在localStorage中,这样玩家可以继续进行比赛。如何更改Javascript对象的类型?
我正在使用CircularJSON将这些对象中的循环引用串起来以保存它们。
但是,当这些对象被解析时,它们是默认的对象类型。
这是一个问题,因为像区在类型的功能:
var Area = function (tempdescription, tempinitialDesc, tempobjArr) {
this.isExplored = false;
this.description = tempdescription;
this.objArr = tempobjArr;
this.paths = [];
this.initialDesc = tempinitialDesc;
};
Area.prototype.getIndex = function (tempstr) {
if(thePlayer.playerLocation.objArr.length > 0) {
for(var i = 0; i < thePlayer.playerLocation.objArr.length; i++) {
if(thePlayer.playerLocation.objArr[i].name.indexOf(tempstr) != -1) {
return i;
}
}
}
return -1;
};
或球员:
这是由我创建var Player = function (defaultLocation) {
this.inv = []; // an array of game objects
this.playerLocation = defaultLocation; // the player's current location
this.moveCount = 0;
this.score = 0;
};
Player.prototype.getIndex = function (tempstr) {
if(thePlayer.inv.length > 0) {
for(var i = 0; i < thePlayer.inv.length; i++) {
if(thePlayer.inv[i].name.indexOf(tempstr) != -1) {
return i;
}
}
}
return -1;
};
,需要存在于每个对象为了我的其他代码的工作。
我需要以简单的方式更改几个对象的类型(如果存在),因为当我保存这些对象时,在游戏完成时可能会有几十个对象。
有没有什么办法可以改变Javascript对象的类型?
您好!欢迎来到SO。你应该检查出https://stackoverflow.com/help/how-to-ask来改善你的问题。考虑添加示例代码以及您尝试过的内容。 –
我添加了一些代码,我还没有尝试过任何东西,因为我不知道从哪里开始。感谢您的反馈。 – finnty
开始搜索:http://stackoverflow.com/search?q=javascript+change+object+type然后尝试,然后问什么时候失败? – yezzz