门的问题是我想在每次点击鼠标时打开门。点击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
中,因为它没有做相反的方向(结束)。
答案 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