2017-09-18 20 views
0

gibt es eine sdl "draw circle" funktion? oder soll ich es aus cero machen? oder, statt dessen ... gibt es eine bereits gemachte Funktion in C++ dafür?Kreise mit SDL2 zeichnen?

so etwas wie:

int main(){ 
    // create the window 
    SDL_Window * window1 = 
     SDL_CreateWindow("Window",700,50,500,450, SDL_WINDOW_SHOWN); 
    // create the renderer 
    SDL_Renderer * renderer = SDL_CreateRenderer(window1, -1 , SDL_RENDERER_ACCELERATED); 

    // Set background 
    SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); 
    SDL_RenderClear(renderer); 
    SDL_RenderPresent(renderer); 

    // Set circle's position 
    int x = 100; int y = 100; 
    int radius = 40; 

    // Loop to hold the window in screen 
    bool running = true; 
    while(running) { 

     SDL_Event event1; 
     while(SDL_PollEvent(&event1) !=0){ 

       // CIRCLE FUNCTION ?????? 
       functionSDLcircle(x, y, radius); 

       if(event1.type ==SDL_KEYDOWN) { 
        switch (event1.key.keysym.sym){ 
        case SDLK_RETURN: 
         running = false; 
         break; 
         } 
       } 
      } 
    } 

    return 0; 
} 
+0

Wenn Sie Funktionen auf höherer Ebene wie Kreise wünschen, ohne eine vollständige Spielengine zu greifen, würde ich die ausgezeichnete [SFML (Simple Fast Media Library)] (https://www.sfml-dev.org/) empfehlen. – Defenestrator

Antwort

1

Nein, nichts dergleichen off-the-shelf im SDL_Renderer System.

Sie müssen Ihre eigenen rollen mit SDL_RenderDrawLines()/OpenGL oder wechseln Sie zu etwas wie SDL2_gfx.

+0

danke genpfault. ja, ich habe sdl2. Kannst du mir sagen, wie es mit der sdl2_gfx ist? –