Olá, pode ser que de certo, mas acabei criando uma gambiarra.
já que ele estava gerando um ponto sem ter obstaculo fiz com que ele começasse com o valor -1. então ele só começa a contar a partir do primeiro obstaculo que passa. Alterei também o valor de contagem criando uma variável "marca" que serviu para multiplicar pelo valor de x e colocar ele mais próximo do ponto onde faz a contagem de pontos. Acabou que deu certo, vou deixar os códigos com as alterações para caso aconteça com mais alguém e reinstalar não funcione.
Em obstaculos
//declara no inicio
private float marca = 0.21f;
private void Update () {
this.transform.Translate(Vector3.left * this.velocidade * Time.deltaTime);
if(!this.pontuei && this.transform.position.x < this.posicaoDoAviao.x * marca)
{
Debug.Log("pontuou");
this.pontuei = true;
this.pontuacao.AdicionarPontos();
}
}
No script pontuação:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Pontuacao : MonoBehaviour {
[SerializeField]
private Text textoPontuacao;
private int pontos = -1;
public void AdicionarPontos()
{
this.pontos++;
Debug.Log(this.pontos);
this.textoPontuacao.text = this.pontos.ToString();
}
public void Reiniciar()
{
this.pontos = 0;
this.textoPontuacao.text = this.pontos.ToString();
this.continuar();
}
public void continuar()
{
pontos = -1;
}
}