Bien aquí lo que vamos hacer va ser atrapar a los ladrones algo sencillo y fácil de hacer
bien seleccionamos nuestro ladrón y vamos al inspector
Bien seleccionamos el Is Trigger como tengo en pantalla en en «Tag » añadimos el nombre de «Ladrón»
En Add Tag añadariamos el Tag yo ya lo tengo añadido pero vosotros podríais añadirlo.
Bien ahora vamos a nuestro personaje que es el Policía y vamos a editar el «Script»
y comenzamos a programar
private void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.CompareTag("Ladron")) { Destroy(other.gameObject);
y añadiríamos este script para que nuestro ladrón desaparezca
Ahora lo que vamos hacer va ser crear un contador
Bien creamos un «Canvas» y un «TextMexhPro Text»
Ahora vamos al «canvas»
Y en nuestros Canvas cambiamos a «Screen Space – Camera»
Y en Render Camera «Nonw (Camera)» seleccionamos nuestra cámara. y ahora vamos al «TextMeshPro Text» y ponemos el nombre
Y ponemos el nombre ahora en el mismo canvas creamos una Imagen
ahora creamos una imagen
Y en None (Sprite) seleccionamos una imagen
Bien lo único que nos quedaría seria ajustar el tamaño ahora creamos un GambeObjet
Bien ahora le ponemos un nombre «ScoreManager» y creamos un script y programamos lo siguiente
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; public class managerscript : MonoBehaviour { public static managerscript instance; public TextMeshProUGUI text; int score; // Start is called before the first frame update void Start() { if (instance == null) { instance = this; } } public void ChangeScore(int coinValue) { score += coinValue; text.text = "X" + score.ToString(); } }
una vez programado nos saldra así
y nos saldrá esto en Text tenemos que poner el «TextMeshPro» que hemos creado antes, ahora vamos a nuestro ladrón y le vamos a crear el siguiente Script
using System.Collections; using System.Collections.Generic; using UnityEngine; public class puntos : MonoBehaviour { public int coinValue = 1; // Start is called before the first frame update private void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.CompareTag("Player")) { managerscript.instance.ChangeScore(coinValue); } } }