Avançar para o conteúdo principal

Mensagens

A mostrar mensagens de setembro, 2018

Coroutines em Unity3d

Coroutines são funções que mantém o estado enquanto devolvem a execução do código ao método que as chamou. São úteis para o desenvolvimento de jogos para permitir a execução de determinado código ao longo de várias frames. Por exemplo para animar a câmara do jogo podíamos executar o seguinte código: for(int i=0;i<100;i++){     transform.position += new Vector3(1, 0,0); } Se este código estiver dentro de uma função que é executada normalmente não é possível ver a câmara a mover-se ao longo do eixo dos X uma vez que a atualização do cenário do jogo só ocorre no final do ciclo e não ao longo da execução deste. Para que seja possível ver o movimento da câmara é necessário executar um iteração do ciclo e depois atualizar a cena (fazer o render) e depois continuar a execução do ciclo com mais uma iteração e volta a atualizar a cena, neste caso o que se pretende é interromper a execução e retomar sem que se perca o estado, para isso pode-se implementar uma coroutine. Uma coro