Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Cursor Sobre Dos Objetos A La Vez
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Cursor Sobre Dos Objetos A La Vez 
 
Buenas!.

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.

 cuadrados_1481749912_880662

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
 


Produce algo como esto:

 hicisteclic

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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Cursor Sobre Dos Objetos A La Vez 
 
Pues no, aun no. Parecía que funcionaba esto:

Public Sub Lienzo_MouseDown()
  
  If haceclic = False Then
    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 indice 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
  Endif
  
End
 


Pero es que no es solo un cuadrado, son más de uno. Eso solo funcionaría con uno.
Por un momento parecía que funcionaba. Ha sido muy raro.

Continuaré viendo el problema.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Jueves, 15 Diciembre 2016, 09:33; editado 2 veces 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Cuestionario Sobre Los Conceptos Básicos ... fabianfv General 2 Sabado, 12 Febrero 2011, 02:03 Ver último mensaje
fabianfv
No hay nuevos mensajes Consulta Acerca De Una Matriz De Objetos: ... santijav General 6 Jueves, 21 Abril 2011, 06:14 Ver último mensaje
soplo
No hay nuevos mensajes Manual Sobre Teoría De Programación Orie... jsbsan General 15 Jueves, 26 Junio 2014, 19:47 Ver último mensaje
Shell
No hay nuevos mensajes Cursor Sobre Una Rejilla/grilla Shell Aplicaciones/Fragmentos de Código 8 Miercoles, 04 Febrero 2015, 10:40 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario