Unity:UI 暂停菜单预制件

问题描述 投票:0回答:1

我一直遇到这个奇怪的问题,当我将 UI 设为预制件时,它会破坏所有按钮,因此我无法按其中任何一个按钮,我按照 Brackkeys 教程制作了此暂停菜单,但它仅在仅在在项目中的一个场景中,我第一次将其作为预制件放入,所有其他副本都已损坏。发生这种情况有什么原因吗?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Audio;


public class PauseMenu : MonoBehaviour
{
    public static bool GameIsPaused = false;
    public GameObject PauseUI;
    public GameObject OptionsUI;
    public AudioMixer audioMixer;

    // Start is called before the first frame update
    void Start()
    {
        PauseUI.SetActive(false);
        OptionsUI.SetActive(false);

        Cursor.visible = false;
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape)) {
            if (GameIsPaused)
            {
                Resume();
            }
            else {
                Pause();
            }
        }

        
        
    }

    public void Resume() {
        PauseUI.SetActive(false);
        Time.timeScale = 1f;
        GameIsPaused = false;
        Cursor.visible = false;
    }
    private void Pause () {
        PauseUI.SetActive(true);
        Time.timeScale = 0f;
        GameIsPaused = true;
        Cursor.visible = true;
    }

    public void QUITOnClick()
    {
        Debug.Log("You have clicked the button!");
        Application.Quit();
    }

    public void Options()
    {
        PauseUI.SetActive(false);
        OptionsUI.SetActive(true);

    }
    public void Back()
    {
        PauseUI.SetActive(true);
        OptionsUI.SetActive(false);

    }


    public void SetVolume(float volume)
    {

        audioMixer.SetFloat("volume", volume);
    }


}

我尝试重新添加EventManager,我尝试重新链接代码,但似乎没有什么可以解决这个问题。

c# unity-game-engine
1个回答
0
投票

当您制作预制件时,序列化引用(检查器中的拖放引用)都会中断,除非它们全部指向与预制件完全相同的层次结构中的对象。所以基本上预制件只能存储对自身及其子对象的组件的引用。

我在这里猜测,但我怀疑在你的场景中,你的按钮引用的 UI 不包含在其自己的层次结构中。因此,当您将其制作为预制件时,这些引用就被破坏了。

当您将预制件放入场景中时,您要么需要再次手动拖动所有这些引用,要么需要重新考虑您的层次结构,以便引用可以保留在预制件层次结构的内部。

如果不是这种情况,您需要编辑您的问题以提供更多背景信息,以便我们更好地帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.