2016-11-19 62 views
0

我正在尝试做的简短消除: 我正在Unity中开发一个项目。在第一个场景中,我有一个带有8个输入字段的UI画布,供用户输入最多8个名字。当用户完成他/她想要的名字的输入时,他/她按下“完成”按钮,并且所有名字按正确的顺序添加到列表中,并加载新的场景。然后游戏开始,游戏按照慢速顺序遍历列表,并将任务交给谁来完成。加载新场景后,变量值被删除(C#)(Unity)

问题: 名称已正确添加到列表中。但是当场景改变时,列表会自行清空,并且所有的字符串变量都被删除。我无法弄清楚为什么。

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输入字段的名称已完成打字执行。当用户名称已键入他/她想要的,他/她按下“完成”按钮,然后执行该代码:

public void PutNamesInList() 
{ 
    if (player1IsPlaying) 
    { 
     playerList.Add(namePlayer1); 
    } 
    if (player2IsPlaying) 
    { 
     playerList.Add(namePlayer2); 
    } 
    if (player3IsPlaying) 
    { 
     playerList.Add(namePlayer3); 
    } 
    startGame(); 
} 

现在,当加载新的场景,所有的变量都是空的。

任何帮助表示赞赏。

回答