1
resposta

Meu Obstaculo conta pontos antes do avião passar por ele, já tentei colocar eixo y no lugar mas nao mudou em nada.

public class Obstaculo : MonoBehaviour { [SerializeField] private float velocidade = 0.5f; [SerializeField] private float VariaçãoDaPosiçãoY;

private bool FoiDestruido = false;

private Vector3 posiçãodoaviao;
private bool pontuei;
private Pontuação pontuação;

private void Awake()
{
    transform.Translate(Vector3.up * Random.Range(-VariaçãoDaPosiçãoY, VariaçãoDaPosiçãoY));
}

private void Start()
{
    posiçãodoaviao = GameObject.FindObjectOfType<Avião>().transform.position;
    pontuação = GameObject.FindObjectOfType<Pontuação>();
}

private void Update()
{
    transform.Translate(Time.deltaTime * velocidade * Vector3.left);
    //se a minha posição for menor que a posição do avião
    if (!pontuei && transform.position.x < posiçãodoaviao.x)
    {
        Debug.Log("pontuou");
        pontuei = true;
        pontuação.AdicionarPontos();
    }
}
public void OnTriggerEnter2D(Collider2D outro)
{
    if (outro.CompareTag("Barreira"))
    {
        Destroy(gameObject); 
    }
    if (!pontuei && transform.position.x < posiçãodoaviao.x)
    {
        Debug.Log("pontuou");
        pontuei = true;
        pontuação.AdicionarPontos();
    }
}


public void Destruir()
{
    FoiDestruido = true;
    Destroy(obj: gameObject);
}

}

1 resposta

olha não sei se pode funcionar mais tenta tirar os "ç" e os acentos do código e rodar de novo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software