我是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);
}
}
}
答案 0 :(得分:1)
如果您想通过单击来更改门的状态,则可以像这样否定(not
)布尔值:
void Update()
{
if (Input.GetMouseButton(0))
{
anim.SetBool("open", !(anim.GetBool("open")));
}
}
,如果您需要通过单击来关闭/打开门,则可以使用OnMouseDown
方法:
void OnMouseDown(){
anim.SetBool("open", !(anim.GetBool("open")));
}