[C++/SDL] Śnieg

0

Witajcie zrobiłem sobie funkcje pokazywania obrazka, na którym jest śnieg na losowych miejscach w programie.

void snow(SDL_Surface *surface)
{
	int x, y;
	srand((unsigned)time);
	surface =  load_bmp("snieg.bmp");

	for(int i = 0; i < 800; i += (surface->w * 3))
	{
		for(int j = 0; j < 600; j += (surface->h*3) )
		{
			x = rand() % 800;
			y = rand() % 600;
			SetPos(surface,x ,y );
		}
	}
} 

Wszystko jest ok, mam pętle

 
while(exit == false) 
	{
	
		while(SDL_PollEvent(&event)) 
		{
			if(event.type == SDL_QUIT) 
				exit = true; 
			
		}

           snow(snieg); // snieg to SDL_Surface *snieg;
           // dalsze działania mojego programu 

        }

Jak zrobić teraz, aby ten snieg "opadał " ? Bo aktualnie wyświetla go jak chce, ale stoi w miejscu : o

0

Musisz zmieniać pozycję obrazka na monitorze ;)

0

A jak wyczyścić mój surface ?

Mam np :
SDL_Surface *snieg;
SDL_Surface *screen;

I chciałbym pokazać coś na surface snieg a potem to wyczyścić.

0

Usunąć obiekt?

0

@up: Bez sensu, po co ma co chwila usuwac i tworzyc ja na nowo.

Proponuje wypelnic ja za pomoca SDL_FillRect po prostu.

SDL_FillRect(powierzchnia, NULL, kolor);
SDL_Flip(powierzchnia);

1 użytkowników online, w tym zalogowanych: 0, gości: 1