lo que os voy a enseñar establecer un tiempo entre el movimiento del Player uno y movimiento de player dos aquí os voy a enseñar el Script normal que tenemos
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class controlPlayer : MonoBehaviour { public int Turno = 1; public int LimitedeTurno = 2; public static controlPlayer conPlay; // Start is called before the first frame update void Start() { conPlay = this.GetComponent<controlPlayer>(); } // Update is called once per frame void Update() { if (Turno > 1) Turno = 2; } }
A mi me gusta mas así pero si nuestro player uno queda eliminado nuestro player 2 no podra mover, por eso establecido un tiempo en cada tirada eso quiere decir que cada coche tendrá 3 o 4 segundos ya que el contador de turnos cada ciertos segundos cambiara
con esto nuestro contador cambiaría cada 4 segundos, ahora vamos a poner un Txt, para que además nos salga en pantalla a que jugador le toca mover para eso creamos un Canvas
creamos un canvas la primera imagen la represento en morado
la imagen en morado es simplemente una imagen que he puesto trasparente realmente da igual la imagen podemos poner la numeración sin imagen pero yo lo he puesto así.
la segunda imagen roja es simplemente un texto con el nombre player.
la tercera imagen sera la numeración así que pondremos el numero el tamaño y borraremos el txt
ya tenemos el tamaño ahora borramos el numero uno y lo dejamos tal cual
ahora vamos a programar el control del juego
Yo ya lo tengo ahora os enseñare lo que he programado
Ahora os pondré el script completo de control Player
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class controlPlayer : MonoBehaviour { public Text Resultado; public int Turno = 1; public int LimitedeTurno = 2; public static controlPlayer conPlay; // Start is called before the first frame update void Start() { Resultado.text = ""; StartCoroutine(time()); conPlay = this.GetComponent<controlPlayer>(); } // Update is called once per frame void Update() { Resultado.text = " " + Turno; if (Turno > 1) Turno = 2; } void timeCount() { } void timecount2() { } IEnumerator time() { while (true) { timeCount(); Turno = 1; yield return new WaitForSeconds(4f); timecount2(); Turno = 2; yield return new WaitForSeconds(4f); } } }
ya estaría el script