Unity使用bool参数打开/关闭门

时间:2019-03-08 17:24:56

标签: c# unity3d

我是Unity新手,正在创建一些项目。我已经制作了打开和关闭动画,禁用了循环时间,创建了布尔参数“ open”并设置了条件:

Empty -> openDoor (open = true)
openDoor -> closeDoor (open = false)
closeDoor -> openDoor (open = true)

用左键单击,我必须打开和关闭门。这是C#代码,我尝试使用if状态,但无法正常工作。有什么帮助吗?

void Update()
{
    if (Input.GetMouseButton(0))
    {
        anim.SetBool("open", true);

        if (anim.GetBool("open") == true)
        {
            anim.SetBool("open", false);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

如果您想通过单击来更改门的状态,则可以像这样否定(not)布尔值:

void Update()
{
   if (Input.GetMouseButton(0))
   {
      anim.SetBool("open", !(anim.GetBool("open")));

   }
}

,如果您需要通过单击来关闭/打开门,则可以使用OnMouseDown方法:

 void OnMouseDown(){
  anim.SetBool("open", !(anim.GetBool("open")));
 }