Como Instalar o SDL2 no Windows e Linux para Criar Jogos C/C++ e Primeiros Passos

🔊 SDL2 é uma biblioteca para criação de jogos 2D em C e C++, além de possuir bindings para diversas linguagens de programação.


Como Instalar o SDL2 no Windows e Linux para Criar Jogos C/C++ e Primeiros Passos

🔊 SDL2 é uma biblioteca para criação de jogos 2D em C e C++, além de possuir bindings para diversas linguagens de programação. Nesse vídeo vamos ver como instalar no Windows e no Linux além de primeiros passos e dicas adicionais!

Veja também:


Assista ao Vídeo


Arquivos para Download

Arquivo para Teste Inicial: main.cpp

Serve tanto para Windows quanto para Linux.

#include <SDL2/SDL.h>

int main(int argc, char** argv) {
  SDL_Window* window = NULL;
  window = SDL_CreateWindow(
      "SDL2 It's Work!",
      SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
      640, 480,
      SDL_WINDOW_SHOWN
      );
  SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);
  SDL_SetRenderDrawColor(renderer, 9, 20, 33, 255);
  while(true){
    SDL_Event event;
    while(SDL_PollEvent(&event)){
      if( event.type == SDL_QUIT ){
        exit(0);
      }
    }
    SDL_RenderClear(renderer);
    SDL_RenderPresent(renderer);
  }
  SDL_DestroyRenderer(renderer);
  SDL_DestroyWindow(window);
  //SDL_Quit();
  return 0;
}

Compilar em distros GNU/Linux:

g++ main.cpp $(pkg-config --cflags --libs sdl2)

Imagem utilizada de Exemplo

SDL Bitmap


Código Feito no Vídeo

#include <SDL2/SDL.h>

int main(int argc, char** argv) {
  SDL_Init(SDL_INIT_EVERYTHING);

  SDL_Window* window = SDL_CreateWindow(
      "SDL2 It's Works!",
      50, 30,
      1280, 720,
      SDL_WINDOW_SHOWN
      );

  SDL_Renderer * renderer = SDL_CreateRenderer(window, -1, 0);


  SDL_Surface * surface = SDL_LoadBMP("./sdl.bmp");
  SDL_Texture * logo = SDL_CreateTextureFromSurface(renderer, surface);
  SDL_FreeSurface(surface);

  SDL_Rect rect, rect2;
  rect.x = 50;
  rect.y = 20;
  rect.w = surface->w;
  rect.h = surface->h;

  rect2.x = 800;
  rect2.y = 20;
  rect2.w = 300;
  rect2.h = 300;

  while(true){
    SDL_Event event;
    while(SDL_PollEvent(&event)){
      if( event.type == SDL_QUIT ){
        exit(0);
      }else if( event.type == SDL_MOUSEBUTTONDOWN ){
        rect2.x -= 20;
      }
    }

    SDL_RenderClear(renderer);
    SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255);
    //SDL_RenderDrawRect(renderer, &rect2);
    SDL_RenderFillRect(renderer, &rect2);
    SDL_SetRenderDrawColor(renderer, 9, 20, 33, 255);
    SDL_RenderCopy(renderer, logo, NULL, &rect);
    SDL_RenderPresent(renderer);
  }

  SDL_DestroyTexture(logo);
  SDL_DestroyRenderer(renderer);
  SDL_DestroyWindow(window);
  SDL_Quit();
  return 0;
}

Compilar em distros GNU/Linux:

g++ main.cpp $(pkg-config --cflags --libs sdl2)


sdl2 gamedev cpp linguagemc


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo


Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!