Fandom

Scratchpad

Cargamos la nave

226,663pages on
this wiki
Add New Page
Discuss this page0 Share

Cargamos la nave.

/***************************************************************************
 Ejemplo3_2
 (C) 2003 by Alberto Garcia Serrano
 Programación de videojuegos con SDL
 ***************************************************************************/

#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL.h>


int main(int argc, char *argv[]) {

 SDL_Surface *image, *screen;
 SDL_Rect dest;
 SDL_Event event;
 int i, done = 0;

	atexit(SDL_Quit);

	// Iniciamos SDL
	if (SDL_Init(SDL_INIT_VIDEO) < 0) {
		printf("No se pudo iniciar SDL: %s\n",SDL_GetError());
		exit(1);
	}

	// Activamos modo de video
	screen = SDL_SetVideoMode(640,480,24,SDL_HWSURFACE);
	if (screen == NULL) {
		printf("No se puede inicializar el modo gráfico: \n",SDL_GetError());
		exit(1);
	}
	
	
	// Cargamos gráfico
	image = SDL_LoadBMP("nave.bmp");
    if ( image == NULL ) {
        printf("No pude cargar gráfico: %s\n", SDL_GetError());
        exit(1);
    }

	// Definimos color para la transparencia
	SDL_SetColorKey(image,SDL_SRCCOLORKEY|SDL_RLEACCEL,SDL_MapRGB(image->format,255,255,255));

	// Vamos a dibujar 100 graficos
	for (i=1 ; i<=100 ; i++) {
		// Ajustamos el canal alpha
		SDL_SetAlpha(image,SDL_SRCALPHA|SDL_RLEACCEL,rand() % 255);

		// Definimos donde dibujaremos el gráfico 
		// y lo copiamos a la pantalla.
		dest.x = rand() % 640;
		dest.y = rand() % 480;
		dest.w = image->w;
		dest.h = image->h;
		SDL_BlitSurface(image, NULL, screen, &dest);
	}
 
	// Mostramos la pantalla
	SDL_Flip(screen);

	// liberar superficie
        SDL_FreeSurface(image);

	// Esperamos la pulsación de una tecla para salir
	while(done == 0) {
		while ( SDL_PollEvent(&event) ) {
			if ( event.type == SDL_KEYDOWN ) 
				done = 1;
		}
    }

	return 0;
}

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.