Animação

17:53
Exemplo de Animação com as imagens do Zero (Megaman X - SNES).
- Máquina de estados.
- Uso das setinhas do teclado.

Os procedimentos para compilar são os mesmos do Exemplo 1.


Desenhando na Tela

22:42
Primeiro Exemplo da TSEngine (antiga PESTEngine) e como configurar seu projeto para usá-la.

O código desse post apenas mostra uma imagem na tela e ao apertar ESC a janela fecha.

Abra o Eclipse CDT
Crie um novo projeto, File-> New -> C++ Project, e escolha o nome que quiser.
Clique em "Hello World C++ Project" e Finish.


Coloque a pasta peste do download dentro da pasta src de cada projeto criado.

Coloque a pasta gui e os dll's dentro da pasta Debug(ou equivalente) dos mesmos.

Depois os faça os procedimentos anteriores caso ainda não os tenha feito.

- Configurar o Eclipse e o SDL
- Instalar o SDL_image
- Instalar o SDL_mixer e o SDL_ttf

- Colocar os parâmetros no projeto nesta ordem.
mingw32
SDLmain
SDL
SDL_image
SDL_mixer
SDL_ttf
ws2_32 (para a parte de redes)


Informações Adicionais

A primeira vez que compilar normalmente demora alguns segundos por causa da engine mas depois é mais rápido.
Nesse exemplo você vai ver o logo do Blog e se apertar ESC a janela fecha.


Jogo da Memória

01:30
Fiz ainda pouco um jogo da memória bem simples para mostrar algumas funcionalidades da Engine(motor) que eu estou fazendo, a PESTEngine.

Este projeto tem em torno de 5% da Engine até agora.
Eu pretendo lançar periódicamente jogos cada vez mais complexos, mostrando as funcionalidades disponíveis.

Ela é uma Engine de alto nível que utiliza as funções do SDL.

O Jogo é um jogo da memória bem simples, de apenas 9 cartas.
Uma das cartas não tem par.

Tentei fazer da forma mais clara e objetiva possível.

Utilizei Objetos dinâmicos e estáticos, para mostrar como utilizar cada um.
As imagens das cartas foram tiradas da internet, eu apenas acrescentei alguns efeitos.

Para compilar você precisa passar os parâmetros
-lmingw32
-lSDLmain
-lSDL

-lSDL_image

e ter o SDL e o SDL_image configurados.

Link para o jogo aqui .

SDL_ffmpeg - Rodando vídeos usando SDL

19:44
Rodando vídeos usando o SDL e o FFmpeg com o SDL_ffmpeg no WINDOWS

Eu pensei que seria mais fácil, o maior problema é a falta de um tutorial
(inclusive na página do SDL_FFmpeg).

Antes de mais nada, tenha o SDL instalado, caso contrário siga o Post
SDL + Eclipse C++.

Baixe o SDL_ffmpeg
SDL_ffmpeg
Procure na parte de Downloads e baixe a versão mais recente.

Vamos fazer tudo manualmente.
Descompacte tudo.

Coloque o arquivo
SDL_ffmpeg.lib da pasta lib(descompactada)
na pasta lib do MinGW

Coloque o arquivo
SDL_ffmpeg.h
da pasta SDL, dentro da pasta Include (descompactada)
na pasta SDL, dentro da pasta Include do MinGW.

e por último
SDL_ffmpeg.c
Coloque junto do SDL_ffmpeg.h ( na pasta do SDL ).

Pronto, menos um problema.

Agora baixe o ffmpeg
ffmpeg

Vá em download source code.
estará em tar.gz, nada que o winrar não abra.

descompacte a pasta ffmpeg na pasta
include do MinGW
se ela tiver com o nome de ffmpeg-0.5 por exemplo, eu sugiro que você
renomeie para ffmpeg apenas por questão de padronização.


Pronto, menos dois problemas.

Agora a parte importante.

Abra a sua IDE ( Eclipse no meu caso )

Crie um novo projeto, blá blá blá

e use o código de exemplo que vem com o SDL_ffmpeg na pasta examples.

example.c

Adicione os seguintes parâmetros
-lmingw32
-lSDLmain
-lSDL_ffmpeg
-lSDL

Mande compilar.

Problemas encontrados por mim.

1 - Includes
Conserte coisas do tipo
#include <SDL/SDL.h> ao invés de "SDL.h"
#include <ffmpeg/libavformat/avformat.h> ao invés de avformat.h


2 - problemas de arquivos não encontrados.

Eu acho que o ffmpeg mudou alguns arquivos de pasta e esqueceu de mudar as referências.

avformat.h, em ffmpeg/libavformat
mude
#include "libavcodec/avcodec.h"
para
#include "../libavcodec/avcodec.h"

avcodec.h, em ffmpeg/libavcodec
mude
#include "libavutil/avutil.h"
para
#include "../libavutil/avutil.h"

swscale.h, em ffmpeg/libswscale
mude
#include "libavutil/avutil.h"
para
#include "../libavutil/avutil.h"

Acho que eram só esses.

Mande compilar.

3 - Outros problemas.

Coloque os Dlls contidos na pasta examples do SDL_ffmpeg.rar
na pasta do executável gerado pelo Eclipse.

avcodec-52.dll
avformat-52.dll
avutil-50.dll
SDL_ffmpeg.dll

e não esqueça do
SDL.dll


4 - Entry Point
Caso você tenha problemas de entry point não encontrado
da função SDL_ffmpegGetFrameRate no arquivo SDL_ffmpeg.dll.

Comente as duas linhas que a função SDL_ffmpegGetFrameRate() aparece.

Compile seu projeto denovo.

Não execute o arquivo, pois nada acontecerá.

Arraste um arquivo de vídeo para abrir com ele.
e provavelmente ele vai rodar o vídeo.


Isso é só uma mera utilidade desta biblioteca, dê uma olhada no arquivo record.exe,

abra ele com um arquivo.avi, por exemplo, e depois pegue esse mesmo arquivo e abra

com o example.exe.

Você ficará surpreso.