当按下某个键时,我需要停止/恢复风扇的旋转,所以我写了这个C#代码:
public bool rotationFlag = false;
void Update()
{
if(rotationFlag)
{
fan.transform.Rotate(Vector3.up, rotationAngle);
}
}
public void commuteFan()
{
rotationFlag = !rotationFlag;
}
按下按钮时会调用 cummuteFan()
方法。
变量从false开始,并且风扇正确地没有变形,当我按下按钮时,方法被调用,变量值改变并开始旋转,但是如果我想要停止它,它不会再也不工作了。 debug告诉我,commuteFan()
中的值已正确更改为false,但update()
继续读取旧值(true),并且粉丝不会停止。
答案 0 :(得分:0)
[已解决]我不知道为什么,但我创建了一个只有bool以及getter / setter方法的类,并且知道了
答案 1 :(得分:0)
所以你的变量为public
,这意味着项目的任何其他部分都可以轻松编辑它。在您的情况下,您通过编辑器更改它。
为避免将来出现此类问题,请尝试使用保护措施。
public class Test : MonoBehaviour
{
private bool isRotating = false;
public void setIsRotating(bool status)
{
isRotating = status;
}
public bool getIsRotating()
{
return isRotating;
}
}
这样的编码将为您节省很多麻烦。