¿Hay algún problema con mi sistema de menú de pausa?
– UnityAssets3Free
hola , me llamo juansito y hoy os traigo
esta unity pregunta
Estoy tratando de hacer un sistema de menú de pausa pero no funciona. Tiene que aparecer cuando presiono la tecla Escape y no muestra ningún mensaje de error.
el código es:
using System.Threading;
using System;
using System.Net.Mime;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class pauseMenu : MonoBehaviour
{
public static bool paused = false;
public GameObject Background;
void Start()
Background.SetActive(false);
void FixedUpdate()
if (Input.GetKeyDown(KeyCode.Escape))
if (paused)
Background.SetActive(false);
Time.timeScale = 1f;
paused = false;
else
Background.SetActive(true);
Time.timeScale = 0f;
paused = true;
Sé que esta es una pregunta sencilla, pero soy un principiante absoluto. Así que necesito tu ayuda.
códigos en FixedUpdate
debe estar sincronizado con el sistema de física. Según la velocidad de fotogramas y la configuración de tiempo, es posible que no se llame ni una sola vez durante unos pocos fotogramas. Por lo tanto, Input.GetKeyDown(..)
que es un evento de una sola vez, no puede ser capturado en FixedUpdate.
entonces yo usaría Update,
que se llama una vez por cuadro.
Además, estableces el timeScale
a cero justo después de activar el menú de pausa. Tenga en cuenta que las animaciones se ven afectadas por la escala de tiempo de forma predeterminada. Si tiene alguna animación para abrir el menú de pausa, debe marcarla como sin escala a través del inspector (Seleccione Animador y configure Update Mode
por Unscaled Time
)
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
eso es todo,hasta la proxima