Jump to content

Archived

This topic is now archived and is closed to further replies.

EduLpz2108

Problemas con DontDestroyOnLoad

Recommended Posts

Buenas! 

Tengo un problema con un juego que estoy desarrollando. Estoy usando DontDestroyOnLoad para que la música de fondo y los efectos estén sonando a través de las diferentes escenas del juego.

Estos sonidos los desactivo o activo con 2 botones. Tengo mi script en donde tengo los sonidos. El script tiene linkeados los 2 botones ya que si el sonido esta activado o no, cambia la imagen del  boton. Tambien en este script esta la funcion Awake que es donde esta lo de DontDestroyOnLoad

Esta de la siguiente manera:

image.png

Cuando corro el juego cambia a lo siguiente: 

image.png

Ahi siguen linkeado los botones. Al cambiar a la siguiente escena aparece como missing:

image.png

Pero cuando regreso a la escena donde se encuentran los 2 botones ya no se linkean:

image.png

Podrían ayudarme a saber como al regresarme a la escena se linkeen de nuevo los 2 botones. Gracias por su tiempo.

Share this post


Link to post
Share on other sites
Just now, iRobb said:

Los botones, no quedarán en la otra escena que es destruida?

image.png

Es que pasa eso, SFX, que es donde tengo los audios y el script, al iniciar el juego se mueven a la escena DontDestroyOnLoad, y los botones se quedan en la escena original, pero no se haya alguna manera por codigo que al regresar a la pantalla, se puedan volver a linkear los botones.

Share this post


Link to post
Share on other sites
2 hours ago, EduLpz2108 said:

no se haya alguna manera por codigo que al regresar a la pantalla, se puedan volver a linkear los botones

De hecho hay varias maneras, una podría ser settear el botón en el script manager al iniciar la escena usando algo como esto:

void Start()

{

var myManager = (*nombredelScript*)FindObjectOfType(typeof(*nombredelScript));

   myManager.musicBtn = gameObject.GetComponent<Button>();

}

Agrega este script en tu botón (GameObject).

Puede que tengas que cambiar algunas cosas, pero la lógica sería la misma.

Share this post


Link to post
Share on other sites

×
×
  • Create New...