Arrastar una imagen con el puntero del mouse

Arrastar una imagen con el puntero del mouse

Notapor fede_19xx » Jue Sep 08, 2011 2:20 pm

Hola como va, estoy programando un juego en c++ con SDL, estoy en la parte en la que tengo que diseñar un escenario, la idea es la siguiente, cuento con un fondo verde y desde un scroll que contiene imagenes de 30x30px (arboles, arbustos, cosas que desearia agregar al escenario de fondo) debo hacer clic sobre algunas de ellas, que la imagen siga al puntero del mouse y donde vuelva a hacer clic debe caer la imagen.
Alguien podria orientarme un poco sobre esto, gracias.
fede_19xx
 
Mensajes: 3
Registrado: Jue Sep 08, 2011 2:05 pm

Re: Arrastar una imagen con el puntero del mouse

Notapor kaiser » Jue Sep 08, 2011 4:05 pm

Yo uso SFML en lugar de SDL pero seguro que las dos librerías tienen funciones parecidas así que voy a intentar explicarte de forma genérica como lo haría yo.

- En primer lugar debes detectar que has hecho clic y obtener las coordenadas del cursor en el momento del clic.
- En segundo lugar compara las coordenadas del cursor con las coordenadas de las imágenes del scroll. Así sabrás si has hecho clic sobre una imagen o sobre otra zona del juego, y en caso de haber cliqueado sobre una imagen sabrás cuál es. Para comparar las coordenadas debes saber cuál es el centro de la imagen y su tamaño (altura y anchura). Ten en cuenta que por defecto una imagen tiene su centro en la esquina superior izquierda. Si has hecho clic sobre una imagen activa el flag arrastrar y "recuerda" (en otra variable) que imagen has seleccionado. El flag arrastrar puede ser un booleano o un int.
- Para que la imagen siga al cursor deberás detectar cualquier movimiento del cursor (sus nuevas coordenadas) y decirle a SDL que dibuje la imagen en las mismas coordenadas que el cursor mientras el flag arrastrar esté activado.
- Por último para que la imagen se quede donde hagas clic simplemente vuelve a detectar que has hecho clic y si el flag arrastrar está activado dile a SDL que dibuje la imagen ahí y desactiva el flag.

Un Saludo!
De la API al IDE y del IDE a la API.
Avatar de Usuario
kaiser
 
Mensajes: 121
Registrado: Mié Nov 24, 2010 7:47 pm
Ubicación: Madrid (España)

Re: Arrastar una imagen con el puntero del mouse

Notapor fede_19xx » Vie Sep 09, 2011 12:28 pm

Muchas gracias, me abrió el panorama.
fede_19xx
 
Mensajes: 3
Registrado: Jue Sep 08, 2011 2:05 pm


Volver a Videojuegos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado