Estoy haciendo un ejemplo en el que dibujo una serie de cuadrados en un DrawingArea
La coordenada x e y de los cuadrados son generadas al azar y por ahora puede darse el caso
de que algún cuadrado pueda pisar a otro.
Estos cuadrados se pueden mover, al hacer clic sobre ellos si mantenemos el botón pulsado y desplazamos el cursor del ratón.
Lo que ocurre es que al coincidir una zona común de los dos cuadrados al cursor, se seleccionan los dos cuadrados.
Eliminándose uno de ellos al hacer la acción de desplazarlo.
He creado un método como este en la propia clase Cuadrado.
Public Sub Lienzo_MouseDown()
If Mouse.X >= Me.x And Mouse.x <= Me.x + TAMA And Mouse.y >= Me.y And Mouse.y <= Me.y + TAMA Then
haceclic = True
destacar = True
'Test: Mostrar índice del cuadrado que se hace clic sobre el
'Print "Has hecho clic sobre el cuadrado: " & Me.indice
Balloon.Info("Has hecho clic sobre el cuadrado: " & Me.indice, pantalla, Me.x, Me.y)
Endif
End
If Mouse.X >= Me.x And Mouse.x <= Me.x + TAMA And Mouse.y >= Me.y And Mouse.y <= Me.y + TAMA Then
haceclic = True
destacar = True
'Test: Mostrar índice del cuadrado que se hace clic sobre el
'Print "Has hecho clic sobre el cuadrado: " & Me.indice
Balloon.Info("Has hecho clic sobre el cuadrado: " & Me.indice, pantalla, Me.x, Me.y)
Endif
End
Produce algo como esto:
Si uso el print se puede llegar a ver si se ha hecho clic en más de uno a la vez. ( En realidad no quiero que pase esto ).
¿ Se puede crear de alguna forma una array que se añadan cada uno de los cuadrados que se ha hecho clic sobre ellos y
(ya lo más fácil), mostrarlos en la clase balloon ?
Es solo para testeo de errores.
Os subo el código para que lo probéis y opinéis que cosas creéis que son adecuadas en este ejemplo cuando tratamos la POO.
Realmente debo aprender a usar la clase Rectangle, eso cuando uso QT, pero en SDL, me tengo que inventar mi clase rectangle.
Saludos
DibujaCuadrado4.tar.gz | ||
Descripción: | Ejemplo de dibujo de cuadrados. Desplazamiento de figuras mediante el ratón | Descargar |
Nombre del archivo: | DibujaCuadrado4.tar.gz | |
Tamaño: | 10.12 KB | |
Descargado: | 52 veces |
DibujaCuadrado4.tar.gz | ||
Descripción: | Ejemplo de dibujo de cuadrados. Desplazamiento de figuras mediante el ratón | Descargar |
Nombre del archivo: | DibujaCuadrado4.tar.gz | |
Tamaño: | 10.12 KB | |
Descargado: | 52 veces |
DibujaCuadrado4.tar.gz | ||
Descripción: | Ejemplo de dibujo de cuadrados. Desplazamiento de figuras mediante el ratón | Descargar |
Nombre del archivo: | DibujaCuadrado4.tar.gz | |
Tamaño: | 10.12 KB | |
Descargado: | 52 veces |