Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Avião conta pontos com atraso no game

Já quebrei minha cabeça e tentei até da cntrl c cntrl v nos códigos do git hub para ver se tinha alguma coisa de errado que eu podia ter digitado, porem mesmo com os scripts da própria aula quando vou jogar ele já começa dando um ponto para o avião e fica dando os demais pontos com atraso, alguém sabe qual pode ser o motivo?

2 respostas
solução!

Se o seu código é igual ao git hub pode ser que não seja problemas de código e sim de infraestrtura . Tenta reinstalar o Unity e se mesmo assim não der certo tente ou usar a versão do professor da aula ou a última versão disponível.

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;
    }
}