Witam serdecznie,
Mam problem z zliczaniem punktów w prostej grze. Mianowicie, gracz ma pod klawiszami A/S/D "pociski" w kształcie kolejno, kwadratu, trójkąta i kółka. Z prawej strony tworzone są takie same typy przeciwników (Kwadrat, Trójkąt itd.).
Przeciwnicy mają odpowiadające im tagi, czyli również kwadrat, trójkąt i kółko. Gdy pocisk kwadrat uderzy w takiego samego przeciwnika to obiekty są usuwane, jeśli nie - przegrywa.
Jak mam zliczać punkty ? Nie mogę zrobić prostej publicznej zmiennej z inkrementacją wyniku gdyż, każdy następny obiekt ma tą zmienną ustawioną na 0. Później znów następuje kolizja wynik ma wartość 1, lecz kolejny obiekt ma zmienną wynik na 0.
Do tego potrzebuje mieć dostęp do tej zmiennej z innego skryptu. Ma ktoś jakiś pomysł ?
using UnityEngine;
using UnityEngine.SceneManagement;
public class Enemy : MonoBehaviour {
public float speed;
public int score = 0;
private void Update()
{
transform.Translate(Vector2.left * speed * Time.deltaTime);
}
void OnTriggerEnter2D(Collider2D other)
{
if (other.CompareTag("Player"))
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
if (other.tag == gameObject.tag){
Destroy(other.gameObject);
Destroy(gameObject);
//score++;
}
else{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
}
}
}