Avançar para o conteúdo principal

Mensagens

A mostrar mensagens de outubro, 2018

Coroutinas em Unity 3D Parte II

As coroutines são funções úteis para implementar tarefas que devem ocorrer ao longo de várias frames. Neste posto vamos ver como animar a camera de um ponto inicial para outro ponto final com uma determinada duração em segundos. A duração da animação é armazenada numa variável para que possa ser facilmente ajustada. A função é executada quando o utilizador premir a barrar de espaços. void Update () {         if (Input.GetKeyDown(KeyCode.Space))         {             if(func!=null)                 StopCoroutine(func);             func = StartCoroutine(smoothMoveCamera());         } } Precisamos de algumas variáveis:     public float duration = 2.0f;     public float xStart = -5.0f;     public float xFinish = 5.0f;     Coroutine func; A primeira define a duração em segundas da animação. A segunda o ponto inicial e a terceira o ponto final, ao longo do eixo dos x. Por temos uma referência para a coroutina para que seja possível parar a sua execução, se necessário.