Olá pessoal!
Depois de um grande período sem novos posts, finalmente consegui arranjar um tempo para poder adicionar esta continuação do nosso "curso" de SDL.
Objetivos deste artigo:
1. Aprender a utilizar um pequeno evento de fechar janela
2. Aprender como importar imagens de outros formatos, diferentes de BMP.
Vamos lá, dê uma estudada neste código:
Para compilar este código basta utilizar:
Bom, como você deve ter percebido, temos algumas coisas iguais ao código passado.
O que nos interessa neste novo código é o seguinte:
A biblioteca
A linha
Agora na linha
Depois o que temos é o seguinte
Depois nós somente movimentamos a imagem chamada.
Agora como "lição de casa" que tal adicionar um fundo a janela?
Bom pessoal, por hoje é isso. Fiz este artigo meio que às pressas, portanto qualquer correção ou falha, mande-me um email ou adicione um comentário.
Obrigado e até a próxima!.
Depois de um grande período sem novos posts, finalmente consegui arranjar um tempo para poder adicionar esta continuação do nosso "curso" de SDL.
Objetivos deste artigo:
1. Aprender a utilizar um pequeno evento de fechar janela
2. Aprender como importar imagens de outros formatos, diferentes de BMP.
Vamos lá, dê uma estudada neste código:
#include <stdio.h>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
int main(int argc, char *argv[]){
SDL_Surface *janela, *imagem;
SDL_Rect rect;
SDL_Event evento;
int x, y;
int sair = 0;
if(SDL_Init(SDL_INIT_EVERYTHING) == -1){
printf("Problema na inicialização do SDL");
exit(1);
}
janela = SDL_SetVideoMode(800, 600, 32, SDL_ANYFORMAT |
SDL_DOUBLEBUF);
if(!janela){
printf("Problema na inicialização da janela");
exit(1);
}
x=100;
y=100;
while(sair == 0){
if(evento.type == SDL_QUIT)
sair = 1;
else{
SDL_PollEvent(&evento);
rect = (SDL_Rect) {x, y, NULL, NULL};
imagem = IMG_Load("imagens/img.jpg");
SDL_BlitSurface(imagem, NULL, janela, &rect);
SDL_Flip(janela);
x = x+10;
y = y+10;
SDL_Delay(30);
}
}
SDL_FreeSurface(imagem);
SDL_FreeSurface(janela);
SDL_Quit();
return 0;
}
Para compilar este código basta utilizar:
gcc -o sdl4 sdl_parte4.c -lSDL -lSDL_image
Bom, como você deve ter percebido, temos algumas coisas iguais ao código passado.
O que nos interessa neste novo código é o seguinte:
A biblioteca
SDL_image.h
que contém as funções para tratamento de imagem.A linha
SDL_Event evento;
-> Aqui nós declaramos um evento, com ele podemos fazer algumas coisas bem divertidas, mas isso vou deixar para um próximo post;Agora na linha
if(evento.type == SDL_QUIT)
-> nós estamos verificando se a janela foi fechada (com ALT + F4 ou clique mesmo).Depois o que temos é o seguinte
imagem = IMG_Load("imagens/img.jpg");
. Esta função não faz nada mais do que procurar a imagem passada como parâmetro e retornar para a surface.Depois nós somente movimentamos a imagem chamada.
Agora como "lição de casa" que tal adicionar um fundo a janela?
Bom pessoal, por hoje é isso. Fiz este artigo meio que às pressas, portanto qualquer correção ou falha, mande-me um email ou adicione um comentário.
Obrigado e até a próxima!.
2 comentários:
Eu gosto muito dos seus tutoriais porque parou de postar?
Eu gosto muito dos seus tutoriais porque parou de postar?
Postar um comentário