рдПрд╕рдбреАрдПрд▓ 2 рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рдкрд╛рда 5 - рдмрдирд╛рд╡рдЯ

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░ рдФрд░ рдПрд╕рдбреАрдПрд▓ 2 рдкрд░ рдкрд╛рдВрдЪрд╡реЗрдВ рдкрд╛рда рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ, рдмрдирд╛рд╡рдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдЖрдк рдЕрдВрдЧреНрд░реЗрдЬреА рдХреЗ рд╕рднреА рдкрд╛рда рдпрд╣рд╛рдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдПрд╕рдбреАрдПрд▓, рдмрдирд╛рд╡рдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИред рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдПрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕рддрд╣реЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рддреЗрдЬ рд╣реИред

рдмрдирд╛рд╡рдЯ рдХрд╛ рдЕрдкрдирд╛ рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рд╣реИ - SDL_Texture ред рдЬрдм рдмрдирд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдВрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрдм рд╣рдо рдпрд╣ рд╕рдм рдШреЛрд╖рдгрд╛ рдХрд░реЗрдВрдЧреЗред

#include <SDL2/SDL.h> #include <SDL2/SDL_image.h> #include <iostream> using namespace std; int SCREEN_WIDTH = 640; int SCREEN_HEIGHT = 480; SDL_Window *win = NULL; SDL_Renderer *ren = NULL; SDL_Texture *flower = NULL; 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЦрд┐рдбрд╝рдХреА, рд░реЗрдВрдбрд░ рдФрд░ рдЗрд╕ рдлреВрд▓ рдХреА рдШреЛрд╖рдгрд╛ рдХреАред
рд╣рдордиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рднреА рдХрдиреЗрдХреНрдЯ рдХреА рд╣реИрдВ рдФрд░ рд╡рд┐рдВрдбреЛ рд╕рд╛рдЗрдЬрд╝ рд╕реЗрдЯ рдХрд┐рдП рд╣реИрдВред

Init рдлрд╝рдВрдХреНрд╢рди рдХреЛ рднреА рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред

  bool ok = true; if (SDL_Init(SDL_INIT_VIDEO) != 0) { cout << "Can't init: " << SDL_GetError() << endl; ok = false; } win = SDL_CreateWindow("", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN); if (win == NULL) { cout << "Can't create window: " << SDL_GetError() << endl; ok = false; } 

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдареАрдХ рд╡реИрд░рд┐рдПрдмрд▓ рдмрдирд╛рдПрдВ, рддрд╛рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рддреБрд░рдВрдд рд╕рдорд╛рдкреНрдд рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рд╛рд░рдВрдн рдХреЗ рджреМрд░рд╛рди рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдЧрд▓рд╛, рдПрд╕рдбреАрдПрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ рдФрд░ рдПрдХ рдЬреНрдЮрд╛рдд рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдПрдВред

рдпрд╣ рдПрдХ рд░реЗрдВрдбрд░ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред

  ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if (ren == NULL) { cout << "Can't create renderer: " << SDL_GetError() << endl; ok = false; } SDL_SetRenderDrawColor(ren, 0xFF, 0xFF, 0xFF, 0xFF); 

рд░реЗрдВрдбрд░ SDL_CreateRenderer рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ 3 рдорд╛рди рд▓реЗрддрд╛ рд╣реИ: рдПрдХ рд╡рд┐рдВрдбреЛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕ рд░реЗрдВрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдПрдХ рдбреНрд░рд╛рдЗрд╡рд░ рдЗрдВрдбреЗрдХреНрд╕ (рдпрд╛ -1 рдпрджрд┐ рд╣рдо рдкрд╣рд▓реЗ рдЙрдкрдпреБрдХреНрдд рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ) рдФрд░ рдЭрдВрдбреЗред рдореИрдВрдиреЗ рдЭрдВрдбреЗ SDL_RENDERER_ACCELERATED рдФрд░ SDL_RENDERER_PRESENTVILYNC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдпрд╣рд╛рдБ рд╕рднреА рдЭрдВрдбреЛрдВ рдХреА рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ:

рдЭрдВрдбреЗ
SDL_RENDERER_SOFTWARE - рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕реА ;
SDL_RENDERER_ACCELERATED - рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рддреНрд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ;
SDL_RENDERER_PRESENTVSYNC - рдКрд░реНрдзреНрд╡рд╛рдзрд░ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди;
SDL_RENDERER_TARGETTEXTURE - рдмрдирд╛рд╡рдЯ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдердиред

рдЕрдЧрд▓рд╛, рд╣рдо SDL_SetRenderDrawColor рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдбреНрд░рд╛рдЗрдВрдЧ рдХреЛ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдЙрд╕рдХреЗ рдмрд╛рдж, IMG рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ рдФрд░ рдУрдХреЗ рд▓реМрдЯреЗрдВред

  int flags = IMG_INIT_PNG; if (!(IMG_Init(flags) & flags)) { cout << "Can't init image: " << IMG_GetError() << endl; ok = false; } return ok; } 

рдЕрдм рд╣рдо рд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрддреЗ рд╣реИрдВред

 bool load() { bool ok = true; SDL_Surface * temp_surf = NULL; temp_surf = IMG_Load("flower.png"); if (temp_surf == NULL) { cout << "Can't load image: " << IMG_GetError() << endl; ok = false; } 

рдпрд╣рд╛рдВ рд╣рдордиреЗ рдЙрд╕реА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рд▓рд┐рдП, рдареАрдХ рд╡реИрд░рд┐рдПрдмрд▓ рднреА рдмрдирд╛рдпрд╛ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рд╕рддрд╣ рдмрдирд╛рдИ рдФрд░ рдЙрд╕рдореЗрдВ рдлреВрд▓реЛрдВ рдХреЗ рдЪрд┐рддреНрд░ рдЙрддрд╛рд░реЗред

рдЖрдЧреЗ рд╣рдореЗрдВ рд╕рддрд╣ рд╕реЗ рдПрдХ рдмрдирд╛рд╡рдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

  flower = SDL_CreateTextureFromSurface(ren, temp_surf); if (flower == NULL) { cout << "Can't create texture from surface: " << SDL_GetError() << endl; ok = false; } 

рд╕рдорд╛рд░реЛрд╣ SDL_CreateTextureFromSurface рдмрдирд╛рд╡рдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░реЗрдЧрд╛ред рдпрд╣ рд░реЗрдВрдбрд░ рдФрд░ рд╕рд░рдлреЗрд╕ рд╡реИрд▓реНрдпреВрдЬрд╝ рдХреЛ рд▓реЗрддрд╛ рд╣реИред рдпрд╣ SDL_Texture рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реИред

рд╕реНрдореГрддрд┐ рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рд╕рддрд╣ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрд╕рдХреЗ рдмрд╛рдж, рдУрдХреЗ рд▓реМрдЯреЗрдВ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рддреИрдпрд╛рд░ рд╣реИред

рдХреНрд╡рд┐рдЯ рдлрд╝рдВрдХреНрд╢рди рдиреЗ рдХреБрдЫ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рд╣реИред

 void quit() { SDL_DestroyWindow(win); win = NULL; SDL_DestroyRenderer(ren); ren = NULL; SDL_DestroyTexture(flower); flower = NULL; SDL_Quit(); IMG_Quit(); } 

рдпрд╣рд╛рдБ рд╣рдордиреЗ рд╡рд┐рдВрдбреЛ, рд░реЗрдВрдбрд░, рдЯреЗрдХреНрд╕рдЪрд░ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ SDL рдФрд░ IMG рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред рдореИрдВрдиреЗ рд╕рднреА рд╣рдЯрд╛рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдФрд░ рднреА рдмреЗрд╣рддрд░ рдореЗрдореЛрд░реА рдХреНрд▓реАрдирдЕрдк рдХреЗ рд▓рд┐рдП NULL рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ред

рд╣рдо рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

 int main (int argc, char ** argv) { if (!init()) { quit(); return 1; } if (!load()) { quit(); return 1; } 

рд╣рдордиреЗ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рд▓рд┐рдЦрд╛ рд╣реИ, рд╣рдо рдпрд╣рд╛рдБ рдирд╣реАрдВ рд░реБрдХрддреЗред

рдЕрдЧрд▓рд╛ рдЪрд░рдг 2 рдЪрд░ рдмрдирд╛рдирд╛ рд╣реИред

  bool run = true; SDL_Event e; 

рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реНрдореГрддрд┐ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрдЦреНрдп рдЪрдХреНрд░ рд╣реЛрдЧрд╛, рддреЛ рдЪрд▓рд┐рдП рдЗрд╕реЗ рдЦреЛрд▓рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

 while (run) { while(SDL_PollEvent(&e) != 0) { if (e.type == SDL_QUIT) { run = false; } } 

рдХреНрд░реЙрд╕ рдХреЛ рджрдмрд╛рдиреЗ рдХреА рдШрдЯрдирд╛ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдмрд╛рдд рд╣реИред

рдпрд╣ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред рдмрдирд╛рд╡рдЯ рдФрд░ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЙрди рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВред рддреИрдпрд╛рд░ рдмрдирд╛рд╡рдЯ рдХреА рд╕реНрдХреНрд░реАрди рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, SDL_RenderClear рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдпрд╣ рд╕реНрдХреНрд░реАрди рдХреЛ рдЙрд╕ рд░рдВрдЧ рд╕реЗ рдкреЗрдВрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдордиреЗ SDL_SetRenderDrawColor рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдлрд╝рдВрдХреНрд╢рди SDL_RenderCopy рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрдирд╛рд╡рдЯ рдХреЛ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕реНрдХреНрд░реАрди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП SDL_RenderPresent рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рд╣рдо рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗ

  SDL_RenderClear(ren); SDL_RenderCopy(ren, flower, NULL, NULL); SDL_RenderPresent(ren); } 

рд╣рдо рдХреЗрд╡рд▓ SDL_RenderCopy рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ 4 рдЕрд░реНрде рд▓рдЧрддреЗ рд╣реИрдВред рдкрд╣рд▓рд╛ рдПрдХ рд░реЗрдВрдбрд░ рд╣реИ, рджреВрд╕рд░рд╛ рдПрдХ рдЯреЗрдХреНрд╕рдЪрд░ рд╣реИ, рддреАрд╕рд░рд╛ рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдХреНрд╖реЗрддреНрд░ рд╣рдо рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрд╛рдЯрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЪреМрдерд╛ рдПрдХ рдЖрдпрдд рд╣реИ рдЬрд┐рд╕рдХрд╛ рд╕рдордиреНрд╡рдп рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдмрдирд╛рд╡рдЯ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИред

рдЕрдЧрд▓рд╛, рдХреНрд╡рд┐рдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ рдФрд░ 0 рд▓реМрдЯреЗрдВред

  quit(); return 0; } 

рдЗрд╕ рдкрд░ рдореИрдВ рд╕рдмрдХ рдЦрддреНрдо рдХрд░ рджреВрдВрдЧрд╛, рдЕрдЧрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛ - рд▓рд┐рдЦреЛ, рдФрд░ рдореИрдВ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣рддрд╛ рд╣реВрдВ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдЕрд▓рд╡рд┐рджрд╛!

рд╡реИрд╕реЗ, рдпрд╣рд╛рдБ рдкреВрд░реНрдг рдХреЛрдб рд╣реИ:

 #include <SDL2/SDL.h> #include <SDL2/SDL_image.h> #include <iostream> using namespace std; int SCREEN_WIDTH = 640; int SCREEN_HEIGHT = 480; SDL_Window *win = NULL; SDL_Renderer *ren = NULL; SDL_Texture *flower = NULL; bool init() { bool ok = true; if (SDL_Init(SDL_INIT_VIDEO) != 0) { cout << "Can't init: " << SDL_GetError() << endl; ok = false; } win = SDL_CreateWindow("", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, SCREEN_WIDTH, SCREEN_HEIGHT, SDL_WINDOW_SHOWN); if (win == NULL) { cout << "Can't create window: " << SDL_GetError() << endl; ok = false; } ren = SDL_CreateRenderer(win, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); if (ren == NULL) { cout << "Can't create renderer: " << SDL_GetError() << endl; ok = false; } SDL_SetRenderDrawColor(ren, 0xFF, 0xFF, 0xFF, 0xFF); int flags = IMG_INIT_PNG; if (!(IMG_Init(flags) & flags)) { cout << "Can't init image: " << IMG_GetError() << endl; ok = false; } return ok; } bool load() { bool ok = true; SDL_Surface * temp_surf = NULL; temp_surf = IMG_Load("flower.png"); if (temp_surf == NULL) { cout << "Can't load image: " << IMG_GetError() << endl; ok = false; } flower = SDL_CreateTextureFromSurface(ren, temp_surf); if (flower == NULL) { cout << "Can't create texture from surface: " << SDL_GetError() << endl; ok = false; } SDL_FreeSurface(temp_surf); return ok; } void quit() { SDL_DestroyWindow(win); win = NULL; SDL_DestroyRenderer(ren); ren = NULL; SDL_DestroyTexture(flower); flower = NULL; SDL_Quit(); IMG_Quit(); } int main (int argc, char ** argv) { if (!init()) { quit(); return 1; } if (!load()) { quit(); return 1; } bool run = true; SDL_Event e; while (run) { while(SDL_PollEvent(&e) != 0) { if (e.type == SDL_QUIT) { run = false; } } SDL_RenderClear(ren); SDL_RenderCopy(ren, flower, NULL, NULL); SDL_RenderPresent(ren); } quit(); return 0; } 

| рдкрд┐рдЫрд▓рд╛ рдкрд╛рда | рдЕрдЧрд▓рд╛ рдкрд╛рда тЖТ

Source: https://habr.com/ru/post/hi456798/


All Articles