3.
BIBLIOTECA CLANLIB
|
ClanLib é uma biblioteca multiplataforma de
código livre desenvolvida em C++, para o desenvolvimento de jogos. O
objetivo principal da biblioteca é prover um nível de abstração que permita que
seus usuários criem jogos sem ter que se preocupar com detalhes de baixo
nível, como mixagem de som, leitura de arquivos de imagem, etc. A
ClanLib possui APIs (Interface de Programação de Aplicações) para criação de
gráficos em duas e três dimensões, utilização de recursos de som, rede,
entrada/saída, GUI (Interface Gráfica do Usuário) e administração de
recursos. A ClanLib também é capaz de ler vários formatos de imagem tanto por
funções nativas, como também através de funções de outras bibliotecas. Exemplos
de formatos suportados são: Targa, PCX, JPEG, PNG e BMP. Sua
natureza orientada a objetos permite ao usuário programar em alto ou baixo
nível, eliminando redundância de código e ainda permitindo a programação de
funcionalidades avançadas. Dessa
forma, as classes da biblioteca disponibilizam interfaces simples que podem
ser customizadas e expandidas. Isso possibilita que o código do jogo seja
claro e simples, mesmo se houver utilização de recursos avançados. Como
exemplo de sua facilidade de uso, pode-se citar a reprodução de som. No
código abaixo, simplesmente criando um objeto da classe CL_SoundBuffer (linha
1) e chamando uma função dessa classe (linha 2), é possível reproduzir um
arquivo de som: 1 CL_SoundBuffer
som("TIRO.wav"); 2 som.play(); 3 CL_SoundBuffer_Session
playback = som.play(); 4 playback.set_frequency(1.2f); O
exemplo anterior reproduziu um arquivo de som e posteriormente criou uma
sessão (linha 3) que possibilitou o aumento da freqüência em 20% (linha 4). Estando
disponível atualmente na versão 0.7, a ClanLib suporta os sistemas
operacionais Windows 98, Windows 2000, Windows XP e Linux. Nesse texto
demonstraremos as alterações necessárias na biblioteca para possibilitar o
suporte a Windows NT. Os compiladores suportados são: Visual C++ 6.0 [Visual C++ 6.0, 2005], Visual C++ 7.0 [Visual C++ 7.0, 2005], GCC [GCC, 2005],
Borland [Borland, 2005] e MingW [MingW, 2005].
A
seguir serão demonstrados os principais recursos oferecidos da ClanLib, que
estão agrupados por funcionalidade. |