在两个类之间转换时,Unity变量似乎会重新初始化

时间:2017-06-01 17:41:45

标签: c# unity3d unity5

我在Unity游戏中遇到了问题。我有两个类 - 一个用于收集所有得分变量以及选择哪个游戏槽和颜色。第二类是在按钮单击时处理所有这些收集的变量。在第一类中,存储所选择的槽变量,并且当通过该类文件中的一行代码输出变量值时,该变量起作用。第一类包括slot变量的getter方法。当我在第二个类中访问此getter并输出它时输出的值为零而不是实际选择的值。以下是课程:

第1类收集变量获取者和变量变更示例

switch (colour)
{
        case "Red":
        Debug.Log("Red");
        ColourTitleText.color = Color.red;
        selectedColour = 1;
        break;
}
//Getters
public int getSelectedSlot()
{
    return selectedSlot;
}
public int getSelectedColour()
{
    return selectedColour;
}

第2类过程变量和输出

public void onClickNextButton()
{
    //Gather Variables
    colourSelected = inputs.getSelectedColour();
    slotSelected = inputs.getSelectedSlot();
    userName = UNameTextValue.text;
    //Test Print Values
    Debug.Log("User Name:" + userName);
    Debug.Log("Colour Selected:" + colourSelected);
    Debug.Log("Slot Selected:" + slotSelected);
}

使用Debug.Log()行输出第一类

Class1Image

此图片还提供了一个帮助理解的UI示例。

使用Debug.Log()行输出第二类访问第一类变量

Class2Image

这是单击连接到第二个类的按钮上的按钮的输出。

我希望你明白这一点。谢谢你提前。

0 个答案:

没有答案