Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
DrawingArea Deja De Funcionar Despues De Clear
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje DrawingArea Deja De Funcionar Despues De Clear 
 
Hola a todos!
Tengo un DrawingArea en el que quiero que al pulsar un boton, se dibuje una imagen y que si lo vuelvo a pulsar se dibuje la imagen un poco mas a la derecha.
  
Dibujar()
   DrawingArea.clear
    nave.left = nave.left + 20
    Draw.Begin(nDrawingArea)
    Draw.Picture(nave.Image, nave.left, nave.top)    
    Draw.End()
End
 


El problema viene en que si no pongo .clear la imagen "se mueve" pero deja el rastro de haberla dibujado anteriormente
Y si pongo el clear, al darle la segunda vez ya no dibuja nada.
He probado usando cached= true y con false y nada.
¿Alguna Idea?
La idea es que una nave se mueva por la pantalla.

Gracias
 




===================
Sube tus clases, módulos o funciones a Mi Web

No soy un completo inútil. Por lo menos sirvo de mal ejemplo
 
Juan Luis Lopez - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: DrawingArea Deja De Funcionar Despues De Clear 
 
¿La nave es una imagen? (jpg por ejemplo)

PictureBox1.Move(PictureBox1.X + 5, PictureBox1.Y+5)

 



 
 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re:[Solucionado] DrawingArea Deja De Funcionar Despues De Clear 
 
Ya lo solucioné.
Era por culpa de cached que lo puse a false 2 veces...
 




===================
Sube tus clases, módulos o funciones a Mi Web

No soy un completo inútil. Por lo menos sirvo de mal ejemplo
 
Juan Luis Lopez - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: DrawingArea Deja De Funcionar Despues De Clear 
 
@Bruno: No, eso no vale en este caso, porque él está dibujando dentro de un DrawingArea.

@Juan Luis, no nos cuentas si usas gambas 2 o gambas 3, porque hay alguna diferencia entre ambos...

En todo caso te aconsejo que hagas uso del evento _Draw() del drawingarea (en ese caso la propiedad Cached=False) y llames a las funciones de dibujo desde dentro de ese evento.

Para que lo entiendas este sería tu código adaptado:

Public Sub Dibujar_Click() ' este sería el botón
    nave.left = nave.left + 20    
    nDrawingArea.Refresh
End

Public Sub nDrawingArea_Draw() ' evento que de dispara siempre que sea necesario
    Draw.Picture(nave.Image, nave.left, nave.top)    
End


Bien, aquí el concepto es diferente. El evento Draw sencillamente se dispara cada vez que se necesita, por ejemplo al tapar y destapar el Form, al moverlo, redimensionarlo, etc y también lo podemos refrescar nosotros explícitamente. Te habrás dado cuenta de que no hace falta poner en .Begin(parent) ni .End,

Ahora sólo es cuestión de aplicar la lógica para animar los objetos que dibujes, o superponerlos o lo que se te ocurra.

Para ilustrarlo un poco más puedes ver este fragmento de código donde se dibuja una escala numérica de frecuencias de radio y se puede mover con el ratón:

http://www.assembla.com/code/dfhlog.../FBandMap.class
 bandmap



Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes No Me Deja Subir Imagenes Al Foro...[SOLUC... jsbsan Sobre Gambas-es 6 Lunes, 03 Diciembre 2012, 15:05 Ver último mensaje
jousseph
No hay nuevos mensajes ¿Como Detectar El Evento Clear En Un DirBox? v3ctor General 2 Jueves, 24 Noviembre 2016, 18:24 Ver último mensaje
shordi
No hay nuevos mensajes Showmodal No Me Deja Cambiar X E Y? v3ctor General 1 Lunes, 30 Octobre 2017, 21:59 Ver último mensaje
jsbsan
No hay nuevos mensajes Vuelve A Funcionar PlayGround! Shell General 2 Domingo, 27 Enero 2019, 17:21 Ver último mensaje
v3ctor
 

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

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
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
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron