Hai problemi di inizializzazione di uno SDL_Surface
-
21-08-2019 - |
Domanda
Sto cercando di creare qualcosa in SDL [in C ++] dove posso disegnare un grande rettangolo di un pixel. Ho tutto nel mio codice di lavoro, tranne la mia seconda SDL_Surface chiamato rettangolo. Ho problemi inizializzazione. Ecco la linea dove cerco di inizializzare:
rectangle = SDL_Surface(SDL_DOUBLEBUF | SDL_HWACCEL |
SDL_SRCALPHA | SDL_HWSURFACE,
screen->format, 1, 1, 16, NULL, clip_rect, 1);
Grazie per aver il tempo di leggere questo e risposte si potrebbe scegliere di dare.
Soluzione
Penso che il problema principale che si sta avendo è che non esiste una funzione SDL_Surface
. Per creare una nuova superficie, utilizzare SDL_CreateRGBSurface
. Assicurarsi di chiamare SDL_FreeSurface
sulla superficie restituita dopo aver terminato con esso o si perdita di memoria.
Inoltre, io non sono sicuro perché si sta creando una superficie per il rettangolo. Un modo più pulito di disegnare un rettangolo solido-colore è SDL_FillRect
senza creare una nuova superficie.