Unity 5 保存和加载变量
Unity 5 Saving and Loading variables
我知道我可以用 PlayerPrefs 保存 int、float、string,但是我怎么也可以保存布尔值,比如玩家有钱,他买了升级,如果玩家买了升级我怎么保存并在下次加载?
我的升级是这样的:
public void Computer()
{
if(tier1 == true && Click.money >= cost)
{
Click.money -= cost;
ItemNameInfo.text = "[TIER II]Computer";
UpgradeInfo.text = "Wooaah! Upgrade Time!\n(Gives +5 CPS)";
cost = 1000;
costInfo.text = "Cost: " + cost;
Click.moneyperclick += 1;
tier1 = false;
tier2 = true;
}
else if(tier2 == true && Click.money >= cost)
{
Click.money -= cost;
ItemNameInfo.text = "[TIER III]Computer";
UpgradeInfo.text = "It's still isn't good enough\n(Gives +10 CPS)";
cost = 20000;
costInfo.text = "Cost: " + cost;
Click.moneyperclick += 5;
tier2 = false;
tier3 = true;
}
}
您不能将布尔值保存到播放器首选项。
我倾向于只使用 int。
例如,假设我们有一个项目 "item1"。
检查玩家是否解锁了该物品:
if(PlayerPrefs.GetInt("hasItem1",0) == 1){
//player has item 1
}
解锁物品 1:
PlayerPrefs.SetInt("hasItem1",1);
我知道我可以用 PlayerPrefs 保存 int、float、string,但是我怎么也可以保存布尔值,比如玩家有钱,他买了升级,如果玩家买了升级我怎么保存并在下次加载?
我的升级是这样的:
public void Computer()
{
if(tier1 == true && Click.money >= cost)
{
Click.money -= cost;
ItemNameInfo.text = "[TIER II]Computer";
UpgradeInfo.text = "Wooaah! Upgrade Time!\n(Gives +5 CPS)";
cost = 1000;
costInfo.text = "Cost: " + cost;
Click.moneyperclick += 1;
tier1 = false;
tier2 = true;
}
else if(tier2 == true && Click.money >= cost)
{
Click.money -= cost;
ItemNameInfo.text = "[TIER III]Computer";
UpgradeInfo.text = "It's still isn't good enough\n(Gives +10 CPS)";
cost = 20000;
costInfo.text = "Cost: " + cost;
Click.moneyperclick += 5;
tier2 = false;
tier3 = true;
}
}
您不能将布尔值保存到播放器首选项。
我倾向于只使用 int。
例如,假设我们有一个项目 "item1"。
检查玩家是否解锁了该物品:
if(PlayerPrefs.GetInt("hasItem1",0) == 1){
//player has item 1
}
解锁物品 1:
PlayerPrefs.SetInt("hasItem1",1);