首页 > 解决方案 > 尝试在 Unity 中增加 Cubes 比例,然后在达到一定数量时减少

问题描述

这就是我要做的事情:

if(transform.localScale.x > 7)
{
    for(int i = 7; i > 1; i--)
    {
        transform.localScale -= new Vector3(1, 1, 1) * Time.deltaTime;
    }
}
else
{
    transform.localScale += new Vector3(1, 1, 1) * Time.deltaTime;
}

执行 else 语句以增加比例,当它达到 7 时,if 语句应该将它减少回 1,这要归功于 for 循环,它应该运行 6 次迭代并减少比例 6 次。但是只有当比例达到 7 时,else 部分才能正常工作,它只是减少到 6,然后在一秒钟内回到 7。它不会一直下​​降到 1。

标签: c#unity3d

解决方案


您可以制作其他变量,例如:

public bool isDecreasing=false;

if(!isDecreasing && transform.localScale.x > 7)
{
   isDecreasing=true
}else if(isDecreasing&&transform.localScale.x==1)
{
   isDecreasing=false
}

if(isDecreasing)
{
   transform.localScale -= new Vector3(1, 1, 1) * Time.deltaTime;
}else
{
   transform.localScale += new Vector3(1, 1, 1) * Time.deltaTime;
}

推荐阅读