c# - 尝试在 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。
解决方案
您可以制作其他变量,例如:
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;
}