terça-feira, 28 de outubro de 2008

Iniciando o SDL.

Começando pelo início ^^'.

Antes de trazer códigos mais pesados percebi que devo primeiro ensinar o básico de SDL para que mesmo alguem que não tenha conhecido a SDL consiga entender um pouco sobre o que está sendo postado.
Então, após ter mudado o formato do Blog para um que acredito seja mais fácil de ler, vou começar os tutoriais, eles serão pequenos e rápidos pois estou com pouco tempo para escrever.

quarta-feira, 15 de outubro de 2008

Criando efeitos visuais com facilidade! *Sprig*

Se você se interessou pelo que a biblioteca SDL_gfx pode fazer - desenho de primitivas, zoom, rotação - deve conhecer a biblioteca Sprig, ao contrário da anterior, que está no estado Unreleased and Unsupported, esta já possui uma prerelease e pelos testes que fiz funciona muito bem(ainda não testei a prerelease mas tenho usado a versão anterior sem problemas). Agora para quem quiser visualizar o funcionamento da mesma eu fiz um pequeno programa para demonstração, consiste em um sprite sendo movido e rotacionado na tela -> Download.

segunda-feira, 25 de agosto de 2008

Configurando as bibliotecas auxiliares

Agora vamos configurar ou instalar as bibliotecas auxiliares do SDL para utilizar em nossos programas, quem ainda não trabalhou com SDL não sabe mas nela falta muita coisa que seria muito útil para programação de jogos, para isso foram criadas várias bibliotecas auxiliares como SDL_image, para carregar imagens de outros formatos como png, jpeg, targa e outros, SDL_gfx ou Sprig, para aplicar efeitos como zoom e rotação à superfícies, SDL_mixer, para carregar e tocar sons e músicas entre muitas outras que facilitam a nossa vida.
Para instalá-las devemos primeiro saber como funcionam, eu vou explicar a configuração d SDL_image e com quase todas as outras é só repetir o processo:
Primeiro baixe os arquivos de desenvolvimento aqui, selecione o pacote SDL_image-devel-1.2.6-VC8.zip, este pacote vem com duas pastas, include e lib. Extraia estas duas pastas para a pasta onde você instalou o SDL, se o descompactador perguntar se você deseja sobrescrever clique em sim e pronto! Você já pode começar a programar com esta biblioteca! Agora uma observação: na pasta lib existem algumas DLLs, elas devem ser copiadas para o diretório do seu executável para que o mesmo possa usar as funções da biblioteca, para garantir que o seu programa funcione em qualquer lugar que esteja copie estas dlls para a pasta system ou system32 do windows.

Para usar as funções é só inserir a diretiva "#include " no topo do seu código e "linkar" o executável à DLL. Para isso vá no seu projeto, na barra de menus clique em project>>build options e na aba link adicione SDL_image. com isso seu programa ira encotrar as funções da biblioteca. Até a proxima.

quinta-feira, 24 de julho de 2008

Configurando o SDL No Code::Blocks 8.02

Antes de começar a programar devemos escolher uma IDE e um sistema, como IDE eu gosto do Code::Blocks pois é ótima, free e já vem com o mingw32. Para quem é preso ao Wind@ws como eu esta é uma boa escolha por você não precisa se preocupar com mais nada, é só baixar, instalar e começar a programar.
Baixe a última versão estável do Code Blocks (que no meu caso foi a 8.02) que vem com o mingw (codeblocks-8.02mingw-setup.exe), instale normalmente.
Agora baixe a última versão do SDL (SDL-devel-1.2.13-mingw32.tar.gz)e descompacte para uma pasta no seu computador, eu preferi criar uma pasta chamada SDL no drive C: para colocar tudo relacionado a SDL nela, mas você que escolhe onde acham melhor. Na pasta do SDL descompactado tem várias outras pastas, você deve ir na bin e copiar o arquivo SDL.dll para a pasta system ou system32 do windows, fazendo isso você evita que os programas criados com SDL não iniciem por não encontrar a DLL. Agora um truque para funcionar no Code Blocks: vá na pasta include, depois em SDL e copie tudo, volte na pasta include e cole tudo, com isso o SDL encontra os Headers e você mantém a compatibilidade com códigos que os incluem com "SDL/Header.h".
Agora vamos ao Code Blocks, inicie o programa e na barra de menus clique em File > new > project que vai abrir uma janela com vários tipos de projeto, escolha SDL, escolha um nome e local para o projeto e clique em next, a próxima tela pergunta onde está localizado o SDL, como você não deve ter instalado( se seguiu o passo a passo do tuto) a variável "$(#sdl)" não existe, então você deve clicar em procurar que o Code Blocks vai abrir uma janela de edição de variáveis onde você pode dizer onde está o SDL, vá clicando em procurar e em objs coloque a pasta bin( eu acho que é essa) que está dentro da pasta descompactada do SDL, em include coloque a pasta include do mesmo local e em lib tambem a lib do SDL. Clique em fechar e agora clieque em next, finish e pronto. O Code Blocks cria um projeto que mostra o logo dele em uma janela. Compile este código e você terá seu primeiro programa em SDL funcionando. No próximo post estarei ensinando como configurar as bibliotecas auxiliares do SDL. Até a próxima!.

terça-feira, 22 de julho de 2008

Vamos começar!!!

Eu estou trabalhando em um projeto que possui o estilo do RPGmaker e como base para este projeto e também como início do meu aprendizado sobre SDL e C++ eu usei os tutoriais do Dev Hub e eu recomendo que quem estiver interessado em programar com SDL que leia estes tutoriais pois neles você encontra um bom começo, como o site está todo em inglês, para quem não tem muita afinidade com a língua eu estarei fazendo um breve tutorial de como configurar o CodeBlocks para funcionar com o SDL e você estará pronto para programar. Espero que vocês visitem o Dev Hub pois quando eu começar o tutorial sobre o projeto do RPG não me apegarei muito aos detalhes que estivem esplicados lá. Até a próxima.

quinta-feira, 17 de julho de 2008

SDL Gfx no Visual C++ 6

Este pequeno tutorial é pra quem já tem algum conhecimento e o SDL instalado no VC6 e o usa, eu prefiro usar o CodeBlocks que é uma IDE bem melhor e vem com o Mingw32 mas para compatibilidade com muitos programas da net e portabilidade eu uso o VC6 porque muita gente dá suporte melhor a ele. Eu decidi criá-lo pois vi alguns pedidos de pessoas na net sobre suporte de como compilar a biblioteca pois não existem binários distribuidos pelo autor.

Como compilar a biblioteca SDL_gfx 2.0.17 com o visual c++ 6 (e talvez em outras versões do visual).

Primeiro crie um novo projeto do tipo Dinamic-Link library e de preferência coloque-o na pasta do source do SDL gfx, marque como projeto vazio.

Vá em configurações(settings) e na aba C/C++ e em debug e mude para Multitrheaded DLL(básico para uso do SDL com VC6).

Na aba link, adicione SDL.lib em General > Object/libraries e clique em ok para fechar a janela.

Na janela workspace clique com o botão direito do mouse sobre o nome do projeto e selecione adicionar...(Add Files to Project) e então selecione todos os arquivos source e headers do SDL gfx e clique em ok.

Pronto! Agora você verá um monte de Warnings e alguns erros, com os warnings não precisa se preocupar, é só ignorar e os erros são todos sobre algum problema na formatação do texto(?) ou algo assim.

Eu resolvi os erros simplesmente redeclarando as variáveis que apresentaram erro no começo da função (elas estão declaradas pouco antes do primeiro uso mas isso causa algum erro estranho no compilador).

Agora é só pegar a DLL e jogar na pasta system do seu Windows, a lib na pasta lib do SDL( ou do compilador ) e os Headers copiar para a pasta include do SDL ou do compilador( eu prefido a do SDL pois não gosto de ficar modificando as pastas do compilador).

Se quiser compilar os testes( para ver o rotozoom funcionando ^^) eu recomendo que renomeie os arquivos source de .c para .cpp que elimina alguns erros.

É só isso! Pelo CodeBlocks é mais facil pois não aparecem erros( só warnings). Até a próxima.Como compilar a biblioteca SDL_gfx com o visual c++ 6 (e talvez

terça-feira, 8 de julho de 2008

Sobre o Blog

Este é meu primeiro post e espero que seja de muitos outros,
estou criando este blog com o objetivo de ajudar quem tiver interesse no conteúdo que irei postar e a mim^^, pois para postar preciso aprender sobre o assunto antes.
O assunto principal abordado aqui será programação e como meu objetivo é aprender C e C++ será baseado nesta linguagem (ou nestas duas liguagens - pra quem diferencia as duas). Estou interessado também em SDL e vou usá-la para garantir a portabilidade de meus códigos. Espero que tenha tempo para escrever e se alguém se interessar e houver feedback estarei disposto a ajudar quem pedir. Para começar é só isso, até meu primeito poste sobre o assunto. Aguardem!