quarta-feira, 30 de junho de 2010

SceneManager pronto

Olá!

Mais um componente da GameLib pronto: o SceneManager, que, como o próprio nome sugere, ele é um gerenciador de cenas. Vou explicar o que é cada coisa.

Scene, ou cena, é um elemento da GameLib (baseado no conceito de scenes da Unity3D) que é a base para partes essenciais do jogo, como um level, um mapa, uma tela, etc. O SceneManager é o gerenciador delas, permitindo que apenas uma cena esteja ativa e quando é trocada esta current scene, o SceneManager é responsável pela transição entre elas.

Quanto a transição na troca de cenas, foi implementada uma interface para cuidar do efeito que é realizado durante a transição (mais ou menos como os efeitos de trocas de slides no Power Point), que, por enquanto são três possíveis: fade out na cena antiga enquando a nova faz fade in (que é o efeito de transição default), transição vertical (como se uma cena estivesse em cima (ou em baixo) da outra) e transição horizontal (como se uma cena estivesse ao lado da outra). Além destes três, há também a possibilidade de fazer a transição sem efeito algum.

Apesar de termos quatro possibilidades de transição, ainda é possível implementar a interface em questão e ter efeitos personalizados :).

Todas as animações estão sendo feitas com a ajuda da excelente biblioteca de animação TweenMax da Greensock. Ela é bem fácil de usar e muito eficiente. Inclusive eu já postei um micro-tutorial dela aqui no GamePlaceHolder.

Então é isso pessoas. SceneManager está pronto. Scene ainda está em produção, mas seu gerenciador já está ok! O próximo passo agora é o resource loader. Estou neste momento estudando a bulk-loader, que já tinha usado há algum tempo e gostei muito e a LoaderMax, que é da Greensock, a mesma produtora da TweenMax. Ambas são bem poderosas e eficientes, mas no final, somente uma delas vai ficar.

Até mais pessoas!

Nenhum comentário: