Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-10-2008
ivanloco ivanloco is offline
Miembro
 
Registrado: abr 2006
Posts: 30
Poder: 0
ivanloco Va por buen camino
Dibujando con Canvas

Hola: estoy realizando el juego del tetris en 3D, lo hago por medio de ir pintando triangulos con la funcion Canvas.Polygon().
El problema que tengo es que cada vez que muevo la ficha que va cayendo tengo que redibujar todo y esto hace que la imagen completa del juego parpadee lo cual es muy molesto.
Si alguien sabe como puedo solucionar esto le agradezco me informe como.

Saludos
Responder Con Cita
  #2  
Antiguo 04-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola, en principio poniendo a la form doublebuffered := true (por codigo) solucionarias algo. Ahora bien, si se tienen q mover muchos graficos como parece q es el caso, te recomiendo q uses o bien OpenGL o alguna libreria como GLScene. Saludos.
Responder Con Cita
  #3  
Antiguo 05-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola de nuevo. Otra manera sencilla seria borrar tansolo (pintando con el fondo) el lugar anterior de la pieza donde esta ya no es visible. Saludos.
Responder Con Cita
  #4  
Antiguo 05-10-2008
ivanloco ivanloco is offline
Miembro
 
Registrado: abr 2006
Posts: 30
Poder: 0
ivanloco Va por buen camino
Implemente la segunda opcion y funciona bien. Gracias
Responder Con Cita
  #5  
Antiguo 05-10-2008
ivanloco ivanloco is offline
Miembro
 
Registrado: abr 2006
Posts: 30
Poder: 0
ivanloco Va por buen camino
Ahora tengo otra duda, si quiero que el fondo sea una imagen cargada en un componente Image, como hago para que este se vea cuando borro la posicion anterior de la ficha?
Responder Con Cita
  #6  
Antiguo 05-10-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Pues para 'borrar' la imagen debes copiar el mismo trozo que habia antes en ese lugar. Esto lo puedes conseguir teniendo un TImage no visible con todo el fondo cargado y ir copiando de ella segun necesites. Para eso puedes usar el metodo copyrect de TCanvas. Saludos.

PD : De todas maneras, el doublebuffered a true (tanto del form como de donde muevas) te optimizara el parpadeo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dibujando líneas en Canvas JAV Gráficos 1 27-09-2007 15:56:05
Dibujando en un TListView pepon386 Gráficos 1 20-01-2006 09:36:28
Dibujando en capas blueicaro Gráficos 1 26-04-2005 09:46:02
Canvas does not allow drawing MADV01 Impresión 1 02-04-2004 15:08:43
Canvas???? craven Gráficos 2 17-05-2003 13:26:02


La franja horaria es GMT +2. Ahora son las 06:38:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi