Foros del Web » Programación para mayores de 30 ;) » C/C++ »

libreria SDL

Estas en el tema de libreria SDL en el foro de C/C++ en Foros del Web. hola, tengo un problema , tengo varios ejemplos de SDL pero el problema es que al ponerle ejecutar a cualkiera que utilice SDL_image.h el fichero ...
  #1 (permalink)  
Antiguo 06/10/2008, 17:44
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 9 meses
Puntos: 103
libreria SDL

hola, tengo un problema , tengo varios ejemplos de SDL pero el problema es que al ponerle ejecutar a cualkiera que utilice SDL_image.h el fichero se abre y se cierra ( dura como 1 cuarto de segundo ) uso dev-cpp.
les dejo algun ejemplo:
Código:
#include <stdio.h>
#include <stdlib.h>
#include <SDL/SDL_image.h>

int main(int argc, char *argv[])
{
	SDL_Surface *screen, *imagen, *circulo, *circulo_key;
	SDL_Rect ori, dest;
	
	if (SDL_Init(SDL_INIT_VIDEO) < 0) {
		printf("Error al iniciar SDL\n");
		system("pause");
		return 1;
	}

	atexit(SDL_Quit);
	
	screen = SDL_SetVideoMode(640, 480, 16, 0);

	if (screen == NULL) {
		printf("Error al setear video:%s\n", SDL_GetError());
		return 1;
	}

	//Cargo las imagenes
	imagen = IMG_Load("imagen.jpg");
	if (imagen == NULL) {
		printf("error al cargar imagen:%s\n", SDL_GetError());
		return 1;
	}
	
	circulo = IMG_Load("circulo.png");
	if (circulo == NULL) {
		printf("error al cargar imagen:%s\n", SDL_GetError());
		//Libero la estructura
		SDL_FreeSurface(imagen);
		return 1;
	}

	circulo_key = IMG_Load("circulo.png");
	if (circulo_key == NULL) {
		printf("error al cargar imagen:%s\n", SDL_GetError());
		//Libero la estructura
		SDL_FreeSurface(imagen);
		SDL_FreeSurface(circulo);
		return 1;
	}	

	SDL_SetColorKey (circulo_key, SDL_SRCCOLORKEY, SDL_MapRGB(circulo_key->format, 0, 0, 0));

	//Quiero toda la imagen
	ori.x = 0;
	ori.y = 0;
	ori.w = imagen->w;
	ori.h = imagen->h;

	dest.x = 0;
	dest.y = 0;

	SDL_BlitSurface(imagen, &ori, screen, &dest);

	//dibujo el circulo sin color_key y otro con
	ori.w = circulo->w;
	ori.h = circulo->h;

	dest.x = 30;
	dest.y = 280;

	SDL_BlitSurface(circulo, &ori, screen, &dest);

	dest.x = 140;
	dest.y = 280;

	SDL_BlitSurface(circulo_key, &ori, screen, &dest);

	//Realmente lo muestra.
	SDL_Flip(screen);

	SDL_Delay(5000); 

	//Liberamos todo
	SDL_FreeSurface(imagen);
	SDL_FreeSurface(circulo);
	SDL_FreeSurface(circulo_key);

}

que le pasa?
  #2 (permalink)  
Antiguo 07/10/2008, 08:13
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años
Puntos: 2
Respuesta: libreria SDL

Hola, yo tambien usaba esa libreria pero la deje de usar porque
cualquier juego que hasia a pantalla completa, lo que estubiera
controlando'un mono, una nave', se movia solo hasia la izquierda
y ahi se quedaba pegado.

yo pienso que la libreria tiene fallos o que no la sabemos usar XD
  #3 (permalink)  
Antiguo 07/10/2008, 17:15
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 9 meses
Puntos: 103
Respuesta: libreria SDL

bueno, ya lo solucione, hoy lo probe y ando ( debe ser por la instalacion de las librerias en windows, que nescesitaba una reinstalacion )

Cita:
Iniciado por Fayca Ver Mensaje
Hola, yo tambien usaba esa libreria pero la deje de usar porque
cualquier juego que hasia a pantalla completa, lo que estubiera
controlando'un mono, una nave', se movia solo hasia la izquierda
y ahi se quedaba pegado.

yo pienso que la libreria tiene fallos o que no la sabemos usar XD
fijate que no tengas el x-- en vez de x++ ( extraño que te pase eso )
  #4 (permalink)  
Antiguo 07/10/2008, 21:12
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: libreria SDL

Cita:
Iniciado por Fayca Ver Mensaje

yo pienso que la libreria tiene fallos o que no la sabemos usar XD
hola, la libreria es bastante estable y no tiene ese tipo de fallos. Seguramente algo por ahi en tu logica estaba mal jeje.

saludos,
  #5 (permalink)  
Antiguo 07/10/2008, 21:57
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años
Puntos: 2
Respuesta: libreria SDL

Se me hase que es culpa entonces de mi targeta grafica TODOS los juegos sin exepcion que usan esa libreria me fallan TODOS, hasta los que bajo de los repositoris oficiales de linux ubuntu
  #6 (permalink)  
Antiguo 07/10/2008, 23:11
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: libreria SDL

o probablemente sea la combinacion de linux + tu tarjeta.
  #7 (permalink)  
Antiguo 07/10/2008, 23:27
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años
Puntos: 2
Respuesta: libreria SDL

Cita:
Iniciado por blackwind Ver Mensaje
o probablemente sea la combinacion de linux + tu tarjeta.
No creeo es una intel integrada 200 mb de memoria compartida

Aparte no tengo problemas con juegos que no las usen, o con el compiz me ba bien con todos los efectos activados 'aunque no los uso' XD, solo sirben para atraer a gente para que use linux jaja.
  #8 (permalink)  
Antiguo 07/10/2008, 23:32
Avatar de Fayca  
Fecha de Ingreso: abril-2008
Mensajes: 164
Antigüedad: 16 años
Puntos: 2
Respuesta: libreria SDL

talbes sea la conbinación de Linux + SDL + mi tarjeta
  #9 (permalink)  
Antiguo 08/10/2008, 16:38
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 20 años, 5 meses
Puntos: 7
Respuesta: libreria SDL

Cita:
Iniciado por Fayca Ver Mensaje
talbes sea la conbinación de Linux + SDL + mi tarjeta
si, a eso me referia.

Por cierto, si es integrada, es mas probable que exista un problema jeje. La cantidad de memoria no importa realmente, a menos que tuvieras 8mbs o algo asi jaja.

saludos,
  #10 (permalink)  
Antiguo 09/10/2008, 13:03
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 9 meses
Puntos: 103
Respuesta: libreria SDL

jej, ya entendi por que se cerraba el programa, el problema era que el archivo del proyecto tenia que estar en la misma carpeta que el main.cpp y una imagen.

grax igual ( aunque se quedaron hablando de otra cosa XD)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:46.