【发布时间】:2016-11-19 20:50:09
【问题描述】:
简短说明,我正在尝试做的事情: 我正在 Unity 中开发一个项目。在第一个场景中,我有一个带有 8 个输入字段的 UI 画布,供用户输入最多 8 个名称。当用户输入完他/她想要的姓名数量后,他/她按下“完成”按钮,所有姓名都以正确的顺序添加到列表中并加载新场景。然后游戏开始,游戏按照长期顺序遍历列表,并将任务交给轮到的人。
问题: 名称已正确添加到列表中。但是当场景发生变化时,列表会自己清空,所有的字符串变量都会被删除。我不知道为什么。
public string namePlayer1, namePlayer2, namePlayer3;
public bool player1IsPlaying, player2IsPlaying, player3IsPlaying = false;
List<string> playerList;
public void getInput1(string player1Name)
{
if (player1Name == "")
{
player1IsPlaying = false;
}
else
{
namePlayer1 = player1Name;
player1IsPlaying = true;
}
}
当用户在 UI 输入字段中完成输入名称时,此代码由“on end edit”事件执行。当用户输入他/她想要的名字后,他/她按下“完成”按钮,然后执行以下代码:
public void PutNamesInList()
{
if (player1IsPlaying)
{
playerList.Add(namePlayer1);
}
if (player2IsPlaying)
{
playerList.Add(namePlayer2);
}
if (player3IsPlaying)
{
playerList.Add(namePlayer3);
}
startGame();
}
现在加载新场景时,所有变量都是空的。
感谢任何帮助。
【问题讨论】: