这是一个附加到游戏对象上的脚本,游戏对象内部具有一些模型,我需要根据需要更改为左/右。
例如:我有3个型号 当我按“ D”键转到第二个模型,如果再次按“ D”键则转到第三个模型。按“ A”转到第二个模型,依此类推。
尝试过
if(Input.GeyKeyDown("a")) { Select(1);}
else if(Input.GeyKeyDown("a")) { Select(2);}
else if(Input.GeyKeyDown("d")) { Select(1);}
我不能上班。
这是我正在调用的函数。
public void Select(int index)
{
if (index == selectionindex)
return;
if (index < 0 || index >= models.Count)
return;
models[selectionindex].SetActive(false);
selectionindex = index;
models[selectionindex].SetActive(true);
}
答案 0 :(得分:1)
让我们看一下这两行:
if(Input.GeyKeyDown("a")) { Select(1); }
else if(Input.GeyKeyDown("a")) { Select(2); }
如果按下“ a”并且它落下,则第一个语句为true,然后调用Select(1)。
然后,因为它是真的,所以它不执行else
语句。
再次尝试不要按“ a”,并且第一个语句为假,因此它将检查第二个语句。
因为您没有按“ a”,所以该语句也是假的,什么也没发生。
Select(2);
。那您该如何解决?
好吧...您知道当前索引已经是什么了,所以...
if(Input.GeyKeyDown("a")) { Select(selectionindex-1);}
else if(Input.GeyKeyDown("d")) { Select(selectionindex+1);}