我能';t从不同的游戏对象(Unity3d/C#)禁用脚本组件

我能';t从不同的游戏对象(Unity3d/C#)禁用脚本组件,c#,visual-studio,unity3d,if-statement,C#,Visual Studio,Unity3d,If Statement,我有一个电脑屏幕,如果你点击它,它将禁用脚本CameraController和PlayerController,所以你在电脑前不能移动到任何地方。但它似乎根本不起作用 这是我的密码: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Computer : MonoBehaviour { public bool inComMode; public

我有一个电脑屏幕,如果你点击它,它将禁用脚本CameraController和PlayerController,所以你在电脑前不能移动到任何地方。但它似乎根本不起作用

这是我的密码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Computer : MonoBehaviour
{
    public bool inComMode;

    public GameObject playerBody;
    public GameObject cam;

    public PlayerController playerController;
    public CameraController camController;

    // Start is called before the first frame update
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }

    private void OnMouseOver()
    {
        camController = cam.GetComponent<CameraController>();
        playerController = playerBody.GetComponent<PlayerController>();

        if (Input.GetMouseButtonDown(0))
        {
            camController.enabled = false;
            playerController.enabled = false;
            inComMode = true;
        }

        if (Input.GetKeyDown(KeyCode.Escape) && inComMode)
        {
            camController.enabled = true;
            playerController.enabled = true;
            inComMode = false;
        }
    }
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类计算机:单一行为
{
公共场所不舒适;
公共游戏对象玩家主体;
公共游戏对象;
公共播放控制器播放控制器;
公共摄像机控制器;
//在第一帧更新之前调用Start
void Start()
{
}
//每帧调用一次更新
无效更新()
{
}
私有void OnMouseOver()
{
camController=cam.GetComponent();
playerController=playerBody.GetComponent();
if(Input.GetMouseButtonDown(0))
{
camController.enabled=false;
playerController.enabled=false;
不舒适=真实;
}
if(Input.GetKeyDown(KeyCode.Escape)和&inComMode)
{
camController.enabled=true;
playerController.enabled=true;
不舒适=错误;
}
}
}

您是否尝试过在Input.GetMouseButtonDown(0)内部调试?它起作用了吗?您是否尝试过调试camController并查看它是否是正确的对象?也许这只是变量的问题,您可以尝试使用cam.GetComponent().enabled=false;