Jump to content
UnitySpain
Mega

Duda variables entre escenas

Recommended Posts

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.

Edited by Mega

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
hace 7 horas, lightbug said:

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.

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

Share this post


Link to post
Share on other sites
hace 9 horas, lightbug said:
hace 9 horas, lightbug said:

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.

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. 

hace 1 hora, Kvashir said:

 

Share this post


Link to post
Share on other sites
hace 14 horas, Mega said:

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.

Podes hacerlo usando PlayerPrefs ...

Share this post


Link to post
Share on other sites
hace 20 horas, Mega said:

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.

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  

Share this post


Link to post
Share on other sites
hace 2 horas, Kvashir said:

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  

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).

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

×
×
  • Create New...