Jump to content
DanielTDF

Mantener valor variable al reiniciar escena

Recommended Posts

Hola colegas: el problema es como dice el titulo...tengo un juego que consiste en una sola escena en donde se van acumulando puntos (scores) a medida que se recolectan objetos generados al azar. El tema es que al terminar y recargar la misma escena ( Application.LoadScene(0) ) la variable que mantiene el puntaje vuelve a cero y no es lo que quiero. Probé con PlayerPrefs pero no me sirve puesto que esto guarda un "high score" en todo caso. Ayuda por favor! Gracias de antemano...

Share this post


Link to post
Share on other sites

Con PlayerPrefs puedes guardar lo que quieras. Y con la función DontDestroyOnLoad puedes crearte clases que, eso, no se destruyan al cargarse.

Share this post


Link to post
Share on other sites

Que buen video ... aunque se olvido de una categoria: los que hace dos dias no sabian que existia la programacion y se quieren poner a hacer un videojuego directamente. Aunque tambien es comprensible que se saltara ese caso, porque cuesta creer que existan xD

Es logico preguntar como se puede hacer algo porque para conseguir el mismo objetivo puede haber distintos caminos y unos son mas acertados que otros ... en este caso, para guardar una informacion entre escenas, se han dado las soluciones de playerprefs, dontdestroyonload y static. Pero una vez sabido como conseguir el objetivo, es muy triste pedir un ejemplo de variable estatica ... eso demuestra dos cosas muy claras: que no se tiene idea de programacion y, lo que es mucho mas preocupante, que no se busca informacion (pones en google "variable estatica programacion" y te salen literalmente miles y miles de paginas).

Yo te aconsejaria que, aunque utilices el foro para preguntar como se puede hacer algo, utilices el sr. google para buscar informacion de los conceptos que no entiendas. Ganaras mucho en tiempo, porque si tienes que esperar una respuesta de alguien cada vez que no entiendas alguna palabra (y al preguntar sobre variable estatica das a entender que sera muy a menudo) ... puedes tardar una eternidad en avanzar eh

Puesto que no te has molestado en aprender lo mas basico de programacion, no le tengas miedo al buscador de google ... en realidad es una herramienta indispensable en tu caso (en realidad para todo el mundo es indispensable, pero en este caso mas)

Share this post


Link to post
Share on other sites

Te agradezco que te hayas tomado el tiempo para escribir tanto para decir nada..es lamentable ver que existan personajes como vos, que a falta de vida propia, se dedica a navegar por los foros buscando sentirse superior. Tenias dos opciones: 1) no contestar 2) ayudar. Fuiste por una tercer opción que es la de vomitar mediocridad. Te felicito campeón, seguro naciste sabiendo! Consejo: para la próxima googlea ''humildad''

Share this post


Link to post
Share on other sites

Lo unico que hice fue aconsejarte que utilizaras el buscador de google cuando hayan conceptos que no entiendas para no perder 15 horas (tiempo transcurrido desde que te dijeron que podias utilizar variables estaticas y tu preguntar que es eso ... y aun esperando una respuesta) cada vez que no entiendas un concepto.

Te lo quieres tomar como una ofensa ? Felicidades. Pero tendrias que tener claro la funcion de cualquier foro de ayuda ... poder exponer problemas y que otra gente te pueda orientar (que no es lo mismo que enseñar como si la gente fuera tu profesor particular). Y es mas sencillo que la gente quiera ayudar cuando das muestras de que como minimo te has molestado en buscar informacion (google ... o el propio buscador de este mismo foro, que hay tropecientos temas sobre variables estaticas); pero bueno, como te decia es mas comodo volver a preguntar algo que ya esta respondido como minimmo en 152 temas del foro (cifra comprobada poniendo "variable estatica" en el buscador de unityspain)

Suerte campeon, y siento por la "ofensa" ... aunque la ofensa no es mas que algo que esta escrito en las normas del foro (y no las he escrito yo)

Share this post


Link to post
Share on other sites

Con PlayerPrefs puedes guardar lo que quieras. Y con la función DontDestroyOnLoad puedes crearte clases que, eso, no se destruyan al cargars

Gracias nuevamente! otra consulta pequeña nomas: no entiendo eso de Google... que es? un plugin de Unity? lo he googleado pero no encontré nada...Gracias de antemano!

Lo unico que hice fue aconsejarte que utilizaras el buscador de google cuando hayan conceptos que no entiendas para no perder 15 horas (tiempo transcurrido desde que te dijeron que podias utilizar variables estaticas y tu preguntar que es eso ... y aun esperando una respuesta) cada vez que no entiendas un concepto.

Te lo quieres tomar como una ofensa ? Felicidades. Pero tendrias que tener claro la funcion de cualquier foro de ayuda ... poder exponer problemas y que otra gente te pueda orientar (que no es lo mismo que enseñar como si la gente fuera tu profesor particular). Y es mas sencillo que la gente quiera ayudar cuando das muestras de que como minimo te has molestado en buscar informacion (google ... o el propio buscador de este mismo foro, que hay tropecientos temas sobre variables estaticas); pero bueno, como te decia es mas comodo volver a preguntar algo que ya esta respondido como minimmo en 152 temas del foro (cifra comprobada poniendo "variable estatica" en el buscador de unityspain)

Suerte campeon, y siento por la "ofensa" ... aunque la ofensa no es mas que algo que esta escrito en las normas del foro (y no las he escrito yo)

Gracias nuevamente! otra consulta pequeña nomas: no entiendo eso de Google... que es? un plugin de Unity? lo he googleado pero no encontré nada...Gracias de antemano!

Edited by DanielTDF
Destinatario equivocado! Era para Arthure

Share this post


Link to post
Share on other sites

Gracias nuevamente! otra consulta pequeña nomas: no entiendo eso de Google... que es? un plugin de Unity? lo he googleado pero no encontré nada...Gracias de antemano!

Vale, si hubieras empezado por ahi ... pues google no es un plugin de unity, es un buscador que cualquier persona que se ha sentado delante de un ordenador ha utilizado con mayor o menor frecuencia; por lo menos la gran mayoria de personas, aunque siempre pueden haber excepciones.

Como tenias esa "pequeña" duda y te la he respondido tan amablemente ... me aclararias tu mi duda, que es nomas ? otro plugin de unity ? espero que hayas entendido que es una pregunta que no espera respuesta, o dicho de otro modo, que dejemos de rallar al personal. Lo unico que hice fue intentar darte un consejo, a partir de ahi tu decides los consejos que quieres tomar o no. Muchas gracias y suerte con ese o futuros proyectos

Share this post


Link to post
Share on other sites

Por favor, se ruega aténganse a opinar y/o contestar al respecto del topic o pregunta del autor en cuestión...

No estamos aquí para enseñar Informática Básica ni Vocabulario a la gente (de lo contrario, lo anunciaremos como toca...)

 

Muchas gracias

Share this post


Link to post
Share on other sites

Podrías darme un ejemplo? Soy muy noob

Utiliza el modificador static en la variable que quieras conservar sea del tipo que sea: int, float, string, etc...

Por ejemplo:

using UnityEngine;
using System.Collections;

public class script : MonoBehaviour {


	public int PuntuacionQueSePierdeAlReiniciar;
	public static int PuntuacionEstaticaNoSePierdeAlReiniciar;


	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

 

Share this post


Link to post
Share on other sites

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...