Vamos a aprender a seleccionar nuestro personaje para el juego, vamos a comenzar hacerlo desde cero.
Aquí tenemos nuestro Unity, nuestras imágenes.Ahora vamos a nuestro Panel y vamos a comenzar a crear un «Canvas»
Ahora vamos a crear un boton que sera el Play, el boton vendra con Txt si queremos podemos borrar el texto, ya que no lo vamos a utilizar
Al Button le vamos a poner Play, para saber que el Play nos llevara al juego.
Aquí hemos duplicado los botones , el Play que seria el Primero, el siguiente, y el Anterior ahora vamos a nombrarlos
Aquí tenemos los tres botones , Anterior, Play, Siguiente, eso sale porque todavía no he borrado los textos ya que yo pondré imágenes, ahora lo que voy hacer sera en el medio poner los personajes que el juego nos dará a elegir antes de comenzar.
Aquí solo tenemos un coche amarillo pero vamos a poner mas
Tendriamos 4 coches unos encima de otros, mis coches estan marcados en azul oscuro porque les tengo en una carpeta de prefab, ahora lo que voy hacer es quitar el Txt, de anterior, siguiente, Play y pondre una imagen en su lugar
empezamos con el PLay ya borre el Txt, ahora vamos asignarle una imagen
Source Image y seleccionariamos una imagen.
Yo aquí ya lo tengo hecho, ahora vamos a crear un objeto vació, y comenzaremos a programar.
creamos un script y programariamos lo siguiente.
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class MANIGG : MonoBehaviour { public GameObject[] PERSONAJES; public int seleccion = 0; private string GuardarenMemoria = "Memoria"; void Start() { HideAllCharacters(); seleccion = PlayerPrefs.GetInt(GuardarenMemoria, 0); PERSONAJES[seleccion].SetActive(true); } private void HideAllCharacters() { foreach (GameObject g in PERSONAJES) { g.SetActive(false); } } public void NexCharacter() { PERSONAJES[seleccion].SetActive(false); seleccion++; if (seleccion >= PERSONAJES.Length) { seleccion = 0; } PERSONAJES[seleccion].SetActive(true); } public void PreviousCharacter() { PERSONAJES[seleccion].SetActive(false); seleccion--; if (seleccion < 0) { seleccion = PERSONAJES.Length - 1; } PERSONAJES[seleccion].SetActive(true); } public void SatrGame() { PlayerPrefs.SetInt(GuardarenMemoria, seleccion); SceneManager.LoadScene("SampleScene"); } }
es un Script muy sencillo tendreiamos el
» public void NexCharacter()»: Siguiente
public void PreviousCharacter(): Anterior
public void SatrGame(): PLAY
importante nos vamos a quedar con esto
private string GuardarenMemoria = «Memoria»;
Guardariamos el script, y vamos hacia nuestros botones, os lo enseñare en un botón., Vamos al Play
Le incorporamos el scrip que hemos creado y que se llame Mane, y en fuction le diremos que es el PLAY
» public void NexCharacter()»: Siguiente
public void PreviousCharacter(): Anterior
public void SatrGame(): PLAY
Ahora vamos al script de «Mane» que hemos creado y vamos a incorporarle los coches
En Size nos saldrá 0, nosotros le ponemos 4 he incorporamos los coches,, ahora tendríamos que poner los botones, de siguiente, y anterior, una vez hecho esto, daríamos al Play de unity y comprobariamos que funcione correctamente, el único botón que seguro no, nos funcionaria seria el de Play, y es muy sencillo, iríamos a File, Buil Setting
y hay tendríamos que incorporar nuestras Escenas,, tendríamos nuestra escena Principal, que hemos creado ahora de selección de personajes, y la escena del juego, la ultima es a parte y no tiene nada que ver con el tutorial, hecho esto le daríamos al Play, y comprobaríamos que funcione, pero al llevarnos a nuestra escena del juego, no llevaría a nuestro jugador, ni pasaría nada.
Esta seria la escena principal, ahora lo que vamos hacer es crear un objeto vacío y creariamos un script
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class nuevosjugadoress : MonoBehaviour { public GameObject[] Personaje; public Transform posiciondelpersonaje; private string GuardarenMemoria = "Memoria"; int selecCharacter; public GameObject playerObject; void Start() { selecCharacter = PlayerPrefs.GetInt(GuardarenMemoria, 0); playerObject = Instantiate(Personaje[selecCharacter], posiciondelpersonaje.position, Personaje[selecCharacter].transform.rotation); } }
una vez hecho esto, guardamos