3.1.
CLANLIB APPLICATION
|
Todo e
qualquer jogo criado com a ClanLib precisará utilizar a classe
CL_ClanApplication, que é responsável por inicializar a biblioteca e a
aplicação. Dessa forma, os jogos criados com a ClanLib devem ser derivados
dessa classe (linha 3) e redefinir sua função main (linha 5), como no exemplo
a seguir: 1 #include <ClanLib/core.h> 2 #include <ClanLib/application.h> 3 class
MeuJogo : public CL_ClanApplication{ 4 public: 5 virtual
int main(int argc, char **argv){ 6 CL_SetupCore::init(); 7 // Código do jogo 8 CL_SetupCore::deinit(); 9 return 0;} 10 } app; Na
Linha 10, app já é
uma instância da classe MeuJogo.
Essa instância permitirá que a ClanLib localize a classe MeuJogo
e chame então a função main. As
funções init()
(linha 6) e deinit()
(linha 8) permitem inicializar e finalizar respectivamente os componentes da
biblioteca. Isso foi feito no exemplo anterior com a classe CL_SetupCore,
que inicializou as classes Core, responsáveis pela entrada/saída. Todos os grupos de classes na ClanLib possuem uma
classe respectiva para incialização de seus componentes, nomeada da seguinte
forma: CL_Setup<NomeGrupo>. Um exemplo é a interface gráfica do usuário
(GUI), cuja classe de inicialização é CL_SetupGUI. Dessa forma, antes de usar
funções de qualquer classe da ClanLib a mesma deve ser inicializada
previamente pela função init() e do mesmo
modo, a função deinit() deve ser
chamada ao término da utilização de determinada classe para que recursos
ocupados, e não mais necessários, como objetos e variáveis de memória, sejam
liberados para o sistema operacional. |