错误的布尔值会阻止脚本被多次使用

时间:2019-03-31 11:21:16

标签: c# unity3d boolean

我正在为一个正在研究的游戏建立一个检查系统,并且可以按预期运行,尽管部分脚本仅适用于一个gameObject。当保持的布尔值为true时,我希望关闭播放器的控件,并在错误的情况下重新打开它。问题是,它始终是错误的,因此当我尝试拾取另一个对象时,它不会停止玩家的控制。

我认为这是因为它在Update函数中运行。我试着将它们放入自己的函数中,并在布尔值是对/否时调用这些函数,但得到的结果相同。

在此之前,我还编写了另一个脚本来打开/关闭播放器的控件,但这是通过两个鼠标输入完成的,并且按预期工作。

我有一个处理光线投射交互的脚本,它将打开/关闭保持的布尔值。当光线投射处于触摸状态时,对象的脚本被激活,如果未触摸则变为null。对象的脚本是这样的。

void Update()
{
    if (held == true)
    {
        thisObject.transform.position = holdPos.position;
        //transform.rotation = holdPos.rotation;
        lockLook.Control.Toggle = false;
        movelock.Control.Toggle = false;
    }
    else
    {
        thisObject.transform.position = startPos;
        thisObject.transform.rotation = startRot;
        lockLook.Control.Toggle = true;
        movelock.Control.Toggle = true;
    }
}

我假设我需要找到一种只调用一次假布尔值的方法。

0 个答案:

没有答案