Jump to content
Hueggvo

ANSWERED Como puedo hacer una tienda de skins??

Recommended Posts

Estoy haciendo un juego para móviles y llevo varios días peleandome por como hacerlo, dudo que lo esté haciendo de forma correcto, pero lo explico.

 

Tengo un script botón que se llama "cambiar_skin", a cada boton le doy un numero diferente como parámetro. Entonces cada número es una skin diferente. Ahora llega el peluseo tengo un objeto que es donde guardo las skins, entonces al cambiar de numero se cambia la skins. Mi problema es el siguiente: estoy intentando guardar en un playerpref.getint las skins que tengo (si es 0 no la tengo, y si es 1 si), el problema es que no se porque no se me cambia el dato. Dudo que esta sea la forma correcta de hacer una tienda, asi que si igualmente alguien me puede echar una mano lo agradecería.

5.png

Share this post


Link to post
Share on other sites

Hola Hueggvo

Yo todavía no he intentado hacer la tienda online, no obstante tengo guardado este tutorial para cuando me vaya a enfrentar a ello: 

https://learn.unity.com/tutorial/unity-iap

Explica como integrar el package In App purchases. 

Sobre lo que llevas, puedes intentar guardar las compras en player  pref, pero eso es un archivo que se guarda localmente en el móvil, si el jugador lo borra (liberando espacio) o cambia de móvil, perdería la información de las compras que haya hecho. Creo que playerpref puede ser útil para guardar la partida, las configuraciones que tenga puesta el jugador (idioma, volumen, y tal), pero para las compras con dinero real, yo no lo usaría.

 

Ese tutorial con el I.A.P. incluye una función para restaurar los consumables que haya comprado el cliente, (nuevamente tengo que ponerlo en práctica para saber más), confío que si estás con las manos en ello, esa información te puede venir bien, ver como lo hacen y tal.

Share this post


Link to post
Share on other sites

Hola.

Primero: No es necesario llamar la función Start porque este no retorna ningún valor local.

Segundo: En el if() completa el PlayerPrefs.GetInt("skin0", 0) por si los prefs no existen, se tome a 0 por defecto.

Tercero: Revisa bien la lógica del código. Estás preguntando si skin0 es = 0 y si eso se cumple, sigue una comprobación de las monedas del jugador y las requeridas, así se cumpla el if() no pasará nada porque no estás declarando ningúna acción de compra!

Usa SetInt, no GetInt.

PlayerPrefs.SetInt("skin0", 1);

Pd: No te recomiendo usar switch en Update, puedes crear una función pública y luego llamar a esta cuando quieras cambiar la skin.

Usa algo como: public void ChangeSkin(int num_skin), luego lo colocas en el botón y agregas el número de la skin que quieres seleccionar.

Edited by Alex
  • Like 1

Share this post


Link to post
Share on other sites

×
×
  • Create New...