无论我的代码说什么,光标都是可见的

cursor is visible not matter what my code says

嘿,所以最初我制作了这个暂停菜单脚本,它使我的光标可见,但它没有关闭光标我什至使脚本 on/off 在某一时刻单独的代码,但它仍然没有打开光标关闭。任何人都知道为什么?谢谢。我写的还不够多所以这里有一些话要读所以我希望你喜欢它们我不费力地写这些话

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

    public class PMScript : MonoBehaviour
    {
    public GameObject VolumeSettings;
    public GameObject mainSettings;
    public GameObject GraphicsSettings;
    public GameObject HitMarker_;
    public GameObject pmui;


    void Start()
    {
        Cursor.visible = false;
        Cursor.lockState = CursorLockMode.Locked;
    }

    // Update is called once per frame
    void Update()
    {
        if (VolumeSettings == true)
        {
            Cursor.visible = true;
            Cursor.lockState = CursorLockMode.None;
        }

        if (mainSettings == true)
        {
            Cursor.visible = true;
            Cursor.lockState = CursorLockMode.None;
        }

        if (GraphicsSettings == true)
        {
            Cursor.visible = true;
            Cursor.lockState = CursorLockMode.None;
        }

        if (Input.GetKeyDown(KeyCode.E))
        {
            HitMarker_.SetActive(false);
            pmui.SetActive(true);
            Cursor.visible = true;
            Cursor.lockState = CursorLockMode.None;
        }

        if (VolumeSettings == false)
        {
            if (mainSettings == false)
            {
                if (GraphicsSettings == false)
                {
                    if (pmui == false)
                    {
                        Cursor.visible = false;
                        Cursor.lockState = CursorLockMode.Locked;
                    }
                }
            }
        }
    }
}

当您将 GameObjectbool 进行比较时,例如

VolumeSettings == true

您要检查的是 VolumeSettings 是否在检查器中分配。

如果这是有意的,如果您希望锁定光标,请确保未分配 VolumeSettings(以及其他)。

如果您要尝试检查 GameObject 是否处于活动状态,请考虑使用以下内容

if(VolumeSettings.activeSelf == true)