统一门打开和关闭

时间:2017-02-21 19:09:37

标签: unity3d

门的问题是我想在每次点击鼠标时打开门。点击5次后,它应向相反方向移回,直至关闭。

if (i < 5)
{
    if (Input.GetMouseButtonDown(0))
    {
        transform.Rotate(Vector3.up * Time.deltaTime * 1080);
        i++;
    }
}

if (i >= 5)   
{
    if (Input.GetMouseButtonDown(0))
    {
        transform.Rotate(-Vector3.up * Time.deltaTime * 1080);
        i--;
    }

} 

所以这段代码有问题,我不知道在哪里。我认为它在第三个if中,因为它没有做相反的方向(结束)。

1 个答案:

答案 0 :(得分:2)

如果您想在第4次点击后关门,门应向相反方向移动

试试这个:

//declare this var as a flag
bool inc = true;


if (Input.GetMouseButtonDown(0))
{
    if(inc)
    {
     transform.Rotate(Vector3.up * Time.deltaTime * 1080);
     i++; 
    }
    else
    {
     transform.Rotate(-Vector3.down * Time.deltaTime * 1080);
     i--;
    }

 }


 if(i==0)
 {
   inc = true;
 }
 if(i==5)
 {
   inc = false; 
 }   

或者代替-Vector3.up,您可以使用Vector3.down

编辑:根据i设置更改为4