Ejemplo n.º 1
0
    // FixedUpdate evento em determinado intervalo de tempo
    void FixedUpdate()
    {
        //Girar o pedal ou retornar a posição inicial
        if (virar.getRodando())
        {
            if ((quantoRodou < virar.getLimite()) && (quantoRodou > -virar.getLimite()))
            {
                girarPedal(lado);
            }
        }
        else
        {
            if (quantoRodou != 0)
            {
                girarPedal(-lado);
            }
        }



        setVirar();
        quantoRodou = virar.getQuantoRodou();
        lado        = virar.getLado();
    }    //Fim do FixedUpdate
    //Utilizado FixedUpdate para controlar o tempo em que as ações
    //descritas serão executadas.
    void FixedUpdate()
    {
        girar();
        anda();


        // Auterando o lado de acordo com a tecla pressionada
        if (Input.GetKey(KeyCode.A))
        {
            lado = -1.0f;
            virar.setRodando(true);
        }
        else
        {
            if (Input.GetKey(KeyCode.D))
            {
                lado = 1.0f;
                virar.setRodando(true);
            }
            else
            {
                virar.setRodando(false);
            }
        }

        //este bloco garante que o limite nao seja extrapolado
        if (quantoRodou > virar.getLimite())
        {
            quantoRodou = virar.getLimite();
        }
        if (quantoRodou < -(virar.getLimite()))
        {
            quantoRodou = -(virar.getLimite());
        }
        if (quantoRodou < virar.getLimite() && quantoRodou > -virar.getLimite() && virar.getRodando())
        {
            quantoRodou += lado;
        }
        if (!(Input.anyKey))           //se nao há tecla precionada, carro nao esta rodando.
        {
            virar.setRodando(false);
            andando = false;
        }


        if (quantoRodou != 0 && !(virar.getRodando()))
        {
            //if (quantoRodou <= virar.getLimite () && quantoRodou >= -virar.getLimite ())
            if (lado > 0 && quantoRodou > 0 || lado < 0 && quantoRodou < 0)
            {
                quantoRodou += -lado;
            }
            else
            {
                lado = -lado;
            }
        }

        if (quantoRodou == 0)
        {
            lado = 0;
        }



        //Adicionando valores  encapsulados na referencia Virar.
        virar.setLado(lado);
        virar.setQuantoRodou(quantoRodou);
    }    //Fim do FixedUpdate