If statement 为什么这句话不能统一起来?

If statement 为什么这句话不能统一起来?,if-statement,unity3d,unityscript,If Statement,Unity3d,Unityscript,好吧,我有个问题。我使用的是IF语句。它似乎不像它应该的那样运行。它在没有| |条件的情况下工作得很好,但在| |条件下,它似乎只是将文本拉到下面,而不是运行ELSE var fateText : UI.Text; var inputText : UI.Text; function fateBall () { if(inputText.text == "illuminati"||"Illuminati"){ fateText.text = "We r

好吧,我有个问题。我使用的是IF语句。它似乎不像它应该的那样运行。它在没有| |条件的情况下工作得很好,但在| |条件下,它似乎只是将文本拉到下面,而不是运行ELSE

var fateText : UI.Text;
var inputText : UI.Text;


 function fateBall () {
        if(inputText.text == "illuminati"||"Illuminati"){
            fateText.text = "We run the entire world. Join us!";
    }else{
  var myRandomString : String = RandomWordString(1);
 fateText.text = myRandomString;
   }
   }
如果我去掉| | |的“光照派”,效果会很好。。。但就像这样,它将fateText.text指定给“我们运行整个世界”,而不是myRandomString

编辑报告:好的,.ToLower()工作得很好,现在我遇到了一个问题,当我添加多个IFs时,它只是绕过IFs,只运行ELSE。。。有什么想法吗

function fateBall () {
    if(inputText.text.ToLower() == "illuminati"){
            fateText.text = "We run the entire world. Join us!";}
     if(inputText.text.ToLower() == "satan"){
                fateText.text = "Lucifer is the Light Bringer. He leads us           against God!";}
     if(inputText.text.ToLower() == "devil"){
            fateText.text = "Lucifer is the Light Bringer. He leads us     against God!";}
    if(inputText.text.ToLower() == "lucifer"){
            fateText.text = "Lucifer is the Light Bringer. He leads us against God!";}

            else{
 var myRandomString : String = RandomWordString(1);
    fateText.text = myRandomString;
 }
 }

条件必须是:

if(inputText.text == "illuminati" || inputText.text == "Illuminati")
否则,您可以设置为降低所有文本,使其与大小写无关:

if(inputText.text.ToLower() == "illuminati")
比较字符串的更好方法是使用
Equals
函数(C#尽管


进一步编辑以进行编辑:

string lowerText = inputText.text.ToLower() ;

if(lowerText == "illuminati")
{
    fateText.text = "We run the entire world. Join us!";
}
else if(lowerText == "satan")
{
    fateText.text = "Lucifer is the Light Bringer. He leads us           against God!";
}
else if(lowerText == "devil")
{
    fateText.text = "Lucifer is the Light Bringer. He leads us     against God!";
}
else if(lowerText == "lucifer")
{
    fateText.text = "Lucifer is the Light Bringer. He leads us against God!";
}
else
{
    var myRandomString : String = RandomWordString(1);
    fateText.text = myRandomString;
}

尝试从以下位置更改条件:

inputText.text == "illuminati"||"Illuminati"
为此:

inputText.text == "illuminati"|| inputText.text =="Illuminati"
我不认为你能把这样的条件连成链

此外,您可能只想使用一个小写函数来简化您的条件。所以我相信你可以做以下的事情

if(inputText.text.ToLower()=="illuminati")

如果要在一个If语句中检查多个条件,请执行以下操作:

if (var1 == condition1 || var2 == condition2){}
这将检查其中一条是否返回true,但您也可以使用以下命令检查多条语句是否为true:

if (var1 == condition1 && var2 == condition2){}

您应该将语句更改为,
if(inputText.text==“illustria”| | inputText.text==“illustria”)
js basics。也最好使用===进行精确比较。如果您想在同一语句中进行任何其他比较,请像
If((inputText.text==“illumina”| | inputText.text==“illumina”)| | inputText.text==“blalabla”)
我添加了ELSE If。我以前试过,但我有===而不是==。现在它工作得很好!如果有人知道如何通过在数组中添加类似的单词(如Lucifer、Satan、Devil)来简化此代码,那么在一个If语句中使用该数组让我知道!谢谢——顺便说一句,我不是魔鬼崇拜者或诸如此类的人。我创造了一个魔术8球游戏的乐趣。。。但是这个游戏本质上是恐怖的。
ToLower()
ToLowercase()
做同样的事情是的,没问题好的,.ToLower()工作得很好。现在我遇到了一个问题,当我添加多个if时,它只是绕过if,只运行ELSE。。。有什么想法吗?@Matt Vapes:我已经对我的答案进行了进一步的编辑,以编辑你的问题
if (var1 == condition1 && var2 == condition2){}