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 05-08-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
Movimiento de un Timage

Hola
Tengo en un Form un botón que cuando pinchas una imagen cambia de posición y se coloca en una nueva ubicación.
image.Top := 50;
image.Left := 50;

Lo que necesito es que cuando pincho en el botón, la imagen se mueva por el form desde la ubicación inicial hasta la ubicación final antes mencionada.

Como lo tengo ahora pues desaparece y aparece en el nuevo sitio.

Si se puede hacer como se le dice que recorrido lleva la TImage hasta la posición final ?

Gracias
Responder Con Cita
  #2  
Antiguo 05-08-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
puedes simular un recorrido de la siguiente forma:

Declara 2 variables globales al form, llamadas posx y posy.

Pincha un objeto TTimer en el formulario, y dale un tiempo de 100 ms

En el onclick del botón activas el Timer:
Timer.active := true;

En el evento que se disparará del timer cada 100 ms le pones el siguiente código:

image.left := posx;
image.top := posy;
if posx < 300 then
posx = posx + 1;
if posy < 300 then
posy = posy + 1;

self.repaint;

if (posx>=300) and (posy >= 300) then
timer.enabled := false

Esto te llevará la imagen en diagonal hasta las coordenadas (300,300)
Para cambiar la velocidad modifica los 100 ms del timer

Para darle un camino deberças jugar con los incrementos de las coordenadas posx y posy.

Lo importante es el self.repaint, si no lo pones no vas a ver nada hasta el final!

Suerte!

Edu
Responder Con Cita
  #3  
Antiguo 05-08-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
No me funciona correctamente

Hola
Algo me hace pero al dar al botón no se donde se va la imágen pero las scrollbar se hacen pero que muy pequeñas y por mucho que busco la imagen no la encuentro.

hago una prueba en un form nuevo con el siguiente code: (perdona que no meta el code en tag, no se donde están.

procedure TForm3.Button1Click(Sender: TObject);
begin
Timer1.Enabled := true;
end;
procedure TForm3.Timer1Timer(Sender: TObject);
Var
Posy : integer;
Posx : integer;
begin
image1.left := posx;
image1.top := posy;
if posx < 300 then
posx := posx + 1;
if posy < 300 then
posy := posy + 1;
self.repaint;
if (posx>=300) and (posy >= 300) then
timer1.enabled := false
end;


El timer se pone en marcha al dar al botón, pero la imágen desaparece y no se donde va.

Gracias
Responder Con Cita
  #4  
Antiguo 06-08-2005
gontxalo gontxalo is offline
Miembro
 
Registrado: may 2005
Posts: 99
Poder: 19
gontxalo Va por buen camino
Ya se donde está el fallo

Hola
Ya se lo que había puesto mal.
Las Var no estaban globales en el form, las había puesto en los botones.

Ya me funciona

Gracias.
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


La franja horaria es GMT +2. Ahora son las 06:17:48.


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