Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

255
Views
Si y ActiveSelf. Solo funciona una vez. Con proyecto de ejemplo

Desarrollador por primera vez aquí y estoy luchando con un problema. Hice una simulación del problema en Unity 3D normal, ya que la realidad virtual asusta a algunas personas talentosas para que no me ayuden. Eso se puede descargar aquí: https://gofile.io/d/qHDlUZ El archivo es un zip llamado: SoundTestTroubleShooting. Una compilación de Unity en 24,7 MB Siga el número en los botones. Botón 1 "Elegir música" Activa el Cubo. Botón 2/4 "Reproducir música" Comprueba si el cubo está activado y reproduce la canción si ese es el caso. Botón 3 "Reiniciar Escena" Detiene la música y recarga la escena. Cube tiene dontdestroyonload. Después de eso, presiono el botón 2/4 "PlayMusic" y no encuentro que el cubo esté activo. ¡¿POR QUÉ?! Volviéndose loco aquí.

Texto antiguo con todo el problema aquí:

En mi juego, tengo cuatro canciones en el menú de inicio entre las que mi jugador puede elegir. Elige uno presionando uno de los cuatro botones. Esto activa un GameObject vacío, llamémoslo SmileMusicTrigger. SmileMusicTrigger tiene un dontdestroyonload y se desactiva con los otros tres botones si el jugador quiere cambiar de canción.

El jugador presiona Comenzar, lo que lo mueve a su posición. Presiona inicio y este botón tiene:

 public GameObject SmileMusicTrigger; public GameObject EpicMusicTrigger; public GameObject GodMusicTrigger; public GameObject VikingMusicTrigger; void OnTriggerEnter() { if (SmileMusicTrigger.activeSelf) { AudioManager.instance.Play("Smile"); } if (EpicMusicTrigger.activeSelf) { AudioManager.instance.Play("Epic"); } if (GodMusicTrigger.activeSelf) { AudioManager.instance.Play("God"); } if (VikingMusicTrigger.activeSelf) { AudioManager.instance.Play("Viking");

y mi juego comienza y la música comienza bien. Cuando el jugador muere, reinicia la escena con el botón de reinicio que dice lo siguiente sobre la música:

 void OnTriggerEnter() { AudioManager.instance.Stop("Smile"); AudioManager.instance.Stop("Viking"); AudioManager.instance.Stop("God"); AudioManager.instance.Stop("Epic");

} }

después de ejecutar este código, la escena se reinicia y no parece que mi botón de Inicio pueda verificar el estado activo de SmileMusicTrigger nuevamente. Sé que SmileMusicTrigger está activo durante el reinicio de la escena porque lo veo debajo de dontdestroy en la jerarquía cuando el juego se está ejecutando y está marcado como activado en el inspector. Pero parece que no puedo volver a llamarlo. Por lo tanto, mi música solo suena una vez.

Audiomanager también está bajo Donotdestroy, así que no creo que el problema esté ahí.

Lo siento si esto es desordenado. Estoy trabajando muy duro para que esto funcione, pero estoy muy atascado en este momento. Agradecido por cualquier ayuda. ¡Mis mejores deseos!

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!