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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top