0

我正在使用 Unity 游戏引擎,但我的一些代码遇到了问题。

function NoteDecision(n :String) {
    Debug.Log("-"+n+"-"); // This is returning -G- which means its just "G"
    Debug.Log(n=="G");  // This is returning false, although n is G
    switch (n){
        case "G":
            Instantiate(GreenNote, SGreenNote.position, SGreenNote.rotation); break;
        case "R":
            Instantiate(RedNote, SRedNote.position, SRedNote.rotation); break;
        case "Y":
            Instantiate(YellowNote, SYellowNote.position, SYellowNote.rotation); break;
        case "B":
            Instantiate(BlueNote, SBlueNote.position, SBlueNote.rotation); break;
        case "O":
            Instantiate(OrangeNote, SOrangeNote.position, SOrangeNote.rotation); break;
        default : Debug.Log("There is a problem here...");
    }
}

所以我的代码没有改变,尽管我可以告诉你自从它停止工作以来发生了什么变化。

变量 n 保存我使用 String.Split() 拆分的字符串的后半部分。之前,它在逗号之前举行了下半场。

Y,023.19592 // this is what it used to look like
023.19592,Y // this is what it looks like now

所以无论如何,这是另一段代码

note = lines[position].Split(","[0]); // this is where it gets split.
NoteDecision (note[1]);  // calling the function above.

那么有人知道问题是什么或解决方案吗?

4

1 回答 1

0

你应该使用:

Debug.Log(n.Equals("G")); // this will return true
于 2012-09-04T06:29:42.057 回答