Unity: префаб меню паузы пользовательского интерфейса ⇐ C#

Место общения программистов C#
Anonymous
Unity: префаб меню паузы пользовательского интерфейса

Сообщение Anonymous »

У меня возникла странная проблема: когда я делаю свой пользовательский интерфейс сборным, он ломает все кнопки, поэтому я не могу нажать ни одну из них. Я следовал руководству Brackeys, чтобы создать это меню паузы, но оно работает, когда оно только в одной сцене проекта, где я его впервые поставил еще в сборном виде, все остальные копии сломаны. Есть ли причина, по которой это могло произойти?

Код: Выделить всё

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, пробовал повторно связать код, но, похоже, ничто не решило эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/791 ... enu-prefab

Вернуться в «C#»