Anuncios Google

Error Ratón SDL

Hola, He estado trabajando los eventos del Ratón en SDL y he hecho un codigo que no funciona muy bien:

if(event.type == SDL_MOUSEBUTTONDOWN){
if(event.button.button == SDL_BUTTON_LEFT && event.button.x == 250 && event.button.y == 250){
dest.x = 370;
dest.y = 40;
dest.w = image7->w;
dest.h = image7->h;
SDL_BlitSurface(image7, NULL, screen, &dest);
SDL_Flip(screen);
SDL_FreeSurface(image7);
}
}

El problema esta en que si pongo esto:

event.button.x == 0

event.button.x == 0 

envez de lo de arriva pues tengo que pulsa en la esquinita. Y si pongo cordenadas mas grandes por mas que pulse en todos los sitios no me da resultados. Yo creo que es porque no defini ancho y largo, solo cordenadas. Si es asi ¿Que tengo que hacer?.

 

Gracias


Mi blog: adriel0000.wordpress.com

 

un saludo.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de User170294

Hechale un ojo a cualquier

Hechale un ojo a cualquier tutorial de colisiones 2D y entenderás enseguida lo que debes hacer. Básicamente es lo que te dicen aquí abajo, mediante estructuras condicionales hacer que solo se ejecuten las tareas no si el X es 10 o y es 10 (por ejemplo) sinoque se ejecuten si X es mayor que 10 y menor de 20 y Y mayor de 10 y menor de 20. Esto hará que se ejecuten las tareas si clickas en un cuadrado de 10x10 (en realidad de 9x9 pero seguro que sabes como solucionarlo) a 10px de distancia sobre el eje X y sobre el eje Y.

Espero que te haya ayudado. Saludos.


Imagen de joserc87

Define un rango

Pinchar justo en un pixel es muy dificil, por no decir casi imposible... En vez de eso define un rectángulo donde pulsar. Por ejemplo el rectángulo con x entre 400 y 500 e y entre 300 y 400:

if (event.button.x >= 400 && event.button.x <= 500 &&
    event.button.y >= 300 && event.button.y <= 400){

Te digo ese rango por poner un ejemplo. Cambia los valores por los que te venga mejor.

Saludos!


Be pointer my friend...

Dennis Ritchie. Padre de C y cocreador de UNIX.

R.I.P.

 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.