所以我正在制作我的增量游戏,Periodic Alchemy,并且我正在尝试制作一些东西来确保保存将所有新变量保留在另一个版本中。为了保存,我取了一个变量“player”,其中包含我所有的变量,并将其制作成一个可以复制的 Base64 字符串。
然而,几乎在每个新版本中,我都会添加新变量。如果玩家在具有新变量的新版本上使用他们的旧保存,那么这些新变量就会丢失并且新功能会中断。因此,当您加载游戏时,游戏会检查旧的 save_data 是否包含某些变量,如果不包含某个变量,游戏会将该变量添加到保存数据中。但是,我不知道该怎么做。这是我的“播放器”代码:
var player = {
upQuarkClicks: 0,
electronClicks: 0,
downQuarkClicks: 0,
auto_up_quark_clicks: 0,
auto_electron_clicks: 0,
auto_down_quark_clicks: 0,
auto_proton_clicks: 0,
auto_neutron_clicks: 0,
up_quark_click_cost: 15,
electron_click_cost: 15,
down_quark_click_cost: 15,
proton_click_cost: 15,
neutron_click_cost: 15,
upgrade_up_quark_1_cost: 50,
upgrade_electron_1_cost: 50,
upgrade_down_quark_1_cost: 50,
auto_up_quark_clicks_amount: 1,
auto_electron_clicks_amount: 1,
auto_down_quark_clicks_amount: 1,
auto_proton_clicks_amount: 1,
auto_neutron_clicks_amount: 1,
upgrade_up_quark_click_1_bought: "False",
upgrade_electron_click_1_bought: "False",
upgrade_down_quark_click_1_bought: "False",
proton_up_quark_cost: 2,
proton_down_quark_cost: 1,
neutron_up_quark_cost: 1,
neutron_down_quark_cost: 2,
protonClicks: 0,
neutronClicks: 0,
hydrogen2DeuteriumClicks: 0,
hydrogen1ProtiumClicks: 0,
hydrogen3TritiumClicks: 0,
helium3Clicks: 0,
helium4Clicks: 0,
lithium6Clicks: 0,
lithium7Clicks: 0
};
那么,假设我添加了一个新变量:lithium_7_bought: "false"。这个新变量不在旧的保存数据中,因此被加载删除。找不到怎么添加?
最佳答案
像这样的东西应该可以工作:
if (!("lithium_7_bought" in player))
{
player.lithium_7_bought = "false";
}
关于javascript - 将变量添加到 JavaScript 中的变量集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20924114/