Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Duda variables entre escenas

Iniciado por Mega, Agosto 08, 2017, 11:57:37 PM

Tema anterior - Siguiente tema
Agosto 08, 2017, 11:57:37 PM Ultima modificación: Agosto 09, 2017, 12:54:07 AM por Mega
Hola quiero hacer un script de js que coja un número de una escena y salga en otra escena.
 
Ejemplo:Escena uno un texto con el número 2 ,Escena dos un texto con el mismo valor que en la escena uno vamos dos.

No lo penses desde voy a hacer un script, pensalo mas bien en como funciona un paso de escena. Si tenes tus datos en medio de la escena 1, y de pronto tu aplicacion se topa con un "CargarEscena 2" lo que va a pasar es que el motor va a automaticamente descargar de memoria todos los objetos de escena 1 (salvo los que tengas DontDestroyOnLoad (en editor figuran en "otra escena") ) luego cargar los objetos de la nueva escena instanciando todos los componentes, todo de cero como si cargaras en editor la escena y le dieras Play.
 
Un script para pasar un numerito de una escena a otra es medio un chiste, supongo que sera a modo de prueba, pensa como a las escenas como esta analogia: separadas por un gran muro, los objetos que no pasan de escena a escena son enanos, no pueden pasar el gran muro con sus datos, los que pueden sobrevivir de escena a escena son gigantes, levantan el pie y ya estan en la proxima escena, lo logico seria darle el valor/referencia al gigante.
 
Entonces te planteas: que entidad queres que guarde el valor, algo tipico es tener un registro general (un manager o derivado de uno), como un registro de puntaje o "score", todos los juegos lo tienen (salud, stamina, magia, etc,etc) entonces vos anotas las cosas ahi y te despreocupas de escena a escena. No se si es tu intencion hacer algo asi, si no la es y simplemente queres guardar un valor tene en cuenta el paso de escena a escena, el como hacerlo depende de vos no hay (o por lo menos no conozco) una instruccion que diga pasa este valor a algun buffer para que alguien lo tome a futuro.

Cita de: lightbug date=1502238370No lo penses desde voy a hacer un script, pensalo mas bien en como funciona un paso de escena. Si tenes tus datos en medio de la escena 1, y de pronto tu aplicacion se topa con un "CargarEscena 2" lo que va a pasar es que el motor va a automaticamente descargar de memoria todos los objetos de escena 1 (salvo los que tengas DontDestroyOnLoad (en editor figuran en "otra escena") ) luego cargar los objetos de la nueva escena instanciando todos los componentes, todo de cero como si cargaras en editor la escena y le dieras Play.
   
   
      Un script para pasar un numerito de una escena a otra es medio un chiste, supongo que sera a modo de prueba, pensa como a las escenas como esta analogia: separadas por un gran muro, los objetos que no pasan de escena a escena son enanos, no pueden pasar el gran muro con sus datos, los que pueden sobrevivir de escena a escena son gigantes, levantan el pie y ya estan en la proxima escena, lo logico seria darle el valor/referencia al gigante.
   
   
      Entonces te planteas: que entidad queres que guarde el valor, algo tipico es tener un registro general (un manager o derivado de uno), como un registro de puntaje o "score", todos los juegos lo tienen (salud, stamina, magia, etc,etc) entonces vos anotas las cosas ahi y te despreocupas de escena a escena. No se si es tu intencion hacer algo asi, si no la es y simplemente queres guardar un valor tene en cuenta el paso de escena a escena, el como hacerlo depende de vos no hay (o por lo menos no conozco) una instruccion que diga pasa este valor a algun buffer para que alguien lo tome a futuro.
   


+1

yo tambien ago eso, normalmente tengo un objeto con las diferentes clases que necesite información/metodos constantemente durante el juego :P

Cita de: lightbug date=1502238370
Cita de: lightbug date=1502238370No lo penses desde voy a hacer un script, pensalo mas bien en como funciona un paso de escena. Si tenes tus datos en medio de la escena 1, y de pronto tu aplicacion se topa con un "CargarEscena 2" lo que va a pasar es que el motor va a automaticamente descargar de memoria todos los objetos de escena 1 (salvo los que tengas DontDestroyOnLoad (en editor figuran en "otra escena") ) luego cargar los objetos de la nueva escena instanciando todos los componentes, todo de cero como si cargaras en editor la escena y le dieras Play.
         
         
            Un script para pasar un numerito de una escena a otra es medio un chiste, supongo que sera a modo de prueba, pensa como a las escenas como esta analogia: separadas por un gran muro, los objetos que no pasan de escena a escena son enanos, no pueden pasar el gran muro con sus datos, los que pueden sobrevivir de escena a escena son gigantes, levantan el pie y ya estan en la proxima escena, lo logico seria darle el valor/referencia al gigante.
         
         
            Entonces te planteas: que entidad queres que guarde el valor, algo tipico es tener un registro general (un manager o derivado de uno), como un registro de puntaje o "score", todos los juegos lo tienen (salud, stamina, magia, etc,etc) entonces vos anotas las cosas ahi y te despreocupas de escena a escena. No se si es tu intencion hacer algo asi, si no la es y simplemente queres guardar un valor tene en cuenta el paso de escena a escena, el como hacerlo depende de vos no hay (o por lo menos no conozco) una instruccion que diga pasa este valor a algun buffer para que alguien lo tome a futuro.
         
      
   

      Yo no quiero que me hagas el script lo único que pido es que con que comandos tengo que usar y yo de hay ya investigar y sacarlo.
   
   
      Me refiero que es como si alguien pregunta cómo hacer que al presionar tal tecla pase x pues se le dice que use el imput get button down , a eso me refiero. 
   

Cita de: Kvashir date=1502265124 
   


Cita de: Mega date=1502229457Hola quiero hacer un script de js que coja un número de una escena y salga en otra escena.
   
   
      Ejemplo:Escena uno un texto con el número 2 ,Escena dos un texto con el mismo valor que en la escena uno vamos dos.
   


Podes hacerlo usando PlayerPrefs ...

Cita de: Mega date=1502229457Hola quiero hacer un script de js que coja un número de una escena y salga en otra escena.
   
   
      Ejemplo:Escena uno un texto con el número 2 ,Escena dos un texto con el mismo valor que en la escena uno vamos dos.
   


Vale, lo que tienes que hacer es tener un script o un objeto con diferentes scripts dependiendo de lo organizado y la cantidad de cosas que quieras guardar o mantener como: atributos/metodos/conexiones a BBDD.. etc que tengas que usar constantemente durante el juego.
 
y los critps tienen que tener algo como esto :
 

using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
    void Awake() {
        DontDestroyOnLoad(this);
    }
}

 
y después simplemente, si guardas en ese script la puntuación, pues cojes el valor  

Cita de: Kvashir date=1502303995Vale, lo que tienes que hacer es tener un script o un objeto con diferentes scripts dependiendo de lo organizado y la cantidad de cosas que quieras guardar o mantener como: atributos/metodos/conexiones a BBDD.. etc que tengas que usar constantemente durante el juego.
   
   
      y los critps tienen que tener algo como esto :
   
   

using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
    void Awake() {
        DontDestroyOnLoad(this);
    }
}

   
      y después simplemente, si guardas en ese script la puntuación, pues cojes el valor  
   


Muchas gracias ya lo solucione me podríais a ayudar en mi otra duda que tengo posteada en mi perfil (la de scrips de disparo).

si está solucionada la duda, marca la mejor respuesta, y abre otro tema en el foro para la siguiente duda, pls.

Etiquetas: