Estoy haciendo un juego en el que utilizo dos clases, una para los escenarios y otra para los elementos con los que se interactúa.
La clase ESCENARIO tiene una función miembro que detecta si se ha hecho clic a un elemento, el problema es que no se detectan los clics, creo que es porque al crear dos elementos y llamar a la función ocurre algún problema. Esta es la función:
- Código: Seleccionar todo
int ESCENARIO::Click(ITEM ELEMENTO)
{
if (ELEMENTO.Mostrar==1)
{
if (SDL_PollEvent(&evento))
{
if (evento.type==SDL_MOUSEBUTTONDOWN)
{
if (evento.button.x>ELEMENTO.pos.x && evento.button.x<ELEMENTO.pos.x+ELEMENTO.img->w && evento.button.y>ELEMENTO.pos.y && evento.button.y<ELEMENTO.pos.y+ELEMENTO.img->h)
{
return 1;
}
else
{
return 0;
}
}
}
}
return 0;
}
El problema solo ocurre cuando se crean dos elementos, por ejemplo LIBRO y RELOJ y se comprueba si se hace clic sobre ellos, porque se llama dos veces a la función SDL_PollEvent(...).
¿Cómo lo puedo solucionar?
Saludos y gracias.