在游戏中,我想创建一个快速时间事件,如果按下了错误的按钮,则该事件可能会失败。但是我不知道该怎么做,所以每个按钮都会触发它。当然,除了在void Update中为每个按钮制作Keycode之外,肯定还有其他选择吧?
答案 0 :(得分:0)
因此,如果我理解正确,则您希望每个按钮都以某种方式起作用,除了一个以外。我们称其为“错误的按钮”。然后,您可以通过按钮的名称或标签来区分该按钮。
如果错误的按钮标签不同,则可以像这样在Update()中比较标签:
private string WrongButtonTag = "wrongButton";
void Update()
{
if(Input.GetButtonDown("yourKey") && !this.CompareTag(WrongButtonTag))
{
//add your code logic for correct buttons here
}
}
您可能需要预先分配标签,例如,通过调用此函数:
private void AssignWrongButtonTag()
{
this.tag = WrongButtonTag;
}
编辑:
评论后,我认为这是方法:您必须将所有按钮放入列表中,然后在Update函数中使用以下代码:
public List<GameObject> buttonList = new List<GameObject>();
void Update()
{
if(Input.GetButtonDown(<your input key here>)
{
foreach(GameObject button in buttonList)
{
if(!this.CompareTag(WrongButtonTag))
{
continue;
}
//add your code logic for correct buttons here
}
}
}