Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-03-2008
j_flores3000 j_flores3000 is offline
Miembro
 
Registrado: nov 2007
Posts: 40
Poder: 0
j_flores3000 Va por buen camino
como Hacer que un TImage siga a un Timage?

Bueno la pregunta es esa: como Hacer que un TImage siga a un Timage?, osea que yo controle uno de esos dos Timage y el otro lo persiga. Gracias
Responder Con Cita
  #2  
Antiguo 26-03-2008
Avatar de ElDioni
[ElDioni] ElDioni is offline
Miembro Premium
 
Registrado: jul 2005
Ubicación: Murcia (España)
Posts: 935
Poder: 19
ElDioni Va por buen camino
¿Qué?, quiero decir, explica un poco más lo que quieres hacer, porque a lo mejor has sido demasiado escueto.
Responder Con Cita
  #3  
Antiguo 26-03-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.269
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por j_flores3000 Ver Mensaje
Bueno la pregunta es esa: como Hacer que un TImage siga a un Timage?
En mi página web, en la sección de ejemplos, hay uno titulado "Crear/destruir componentes (imagenes) en Runtime y moverlas con el ratón". Está con código, así que ahí puedes ver cómo mover un TImage utilizando el ratón. Hacer que el otro TImage lo siga no debería ser muy difícil modificándole las propiedades Left y Top.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 26-03-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Cinco a uno a que quieres hacer un juego.

Si es así, olvidate del VCL y utilizar una librería de juegos tal como Allegro.pas. Te facilitará mucho la vida.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #5  
Antiguo 26-03-2008
j_flores3000 j_flores3000 is offline
Miembro
 
Registrado: nov 2007
Posts: 40
Poder: 0
j_flores3000 Va por buen camino
La cuestion es que es un juego de primer año que nos piden con labels y timage. si en cuestion es que por ejemplo tengo un personaje1(p1) y un personaje2(p2). Bueno yo controlaria el 1 pero el 2 siempre me persiguie a donde yo estoy se entiende??
Responder Con Cita
  #6  
Antiguo 26-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola j_flores3000,
Lo que deseas hacer es algo relativamente simple, el truco está en emplear los eventos OnMouseXXX.

Para ubicar un TImage, cerca del otro debes valerte de la posición que este ocupa (Left y Top) como así también su tamaño (Width y Higth).

Para darte una idea, he aquí un esquema:

Código:

+--------+     
|(l, t)  |
|        |
|        |
+--------+
          (l + w, t + h)
Dependiendo de la capacidad de movimiento tendrás que ubicar al "acechador" más o menos cerca de las coordenadas que esté tu personaje.

No se si se entiende la idea. ¿Porqué no intentas hacerlo tu mismo y nos cuentas como vas a medida que avanzas o te surjen dudas?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 26-03-2008
j_flores3000 j_flores3000 is offline
Miembro
 
Registrado: nov 2007
Posts: 40
Poder: 0
j_flores3000 Va por buen camino
Cita:
Empezado por Delphius Ver Mensaje
Hola j_flores3000,
Lo que deseas hacer es algo relativamente simple, el truco está en emplear los eventos OnMouseXXX.

Para ubicar un TImage, cerca del otro debes valerte de la posición que este ocupa (Left y Top) como así también su tamaño (Width y Higth).

Para darte una idea, he aquí un esquema:

Código:
+--------+     
|(l, t)  |
|        |
|        |
+--------+
         (l + w, t + h)
Dependiendo de la capacidad de movimiento tendrás que ubicar al "acechador" más o menos cerca de las coordenadas que esté tu personaje.

No se si se entiende la idea. ¿Porqué no intentas hacerlo tu mismo y nos cuentas como vas a medida que avanzas o te surjen dudas?

Saludos,
Osea eso si lo se hacer tambien se mover a los elementos con el teclado respondiendo a eventos, etc. Lo que no se hacer es como hacer que el acechador persiga (seguro con un Timer) persiga al otro aunque el personaje que yo controlo se mueve.
Responder Con Cita
  #8  
Antiguo 27-03-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por j_flores3000 Ver Mensaje
Osea eso si lo se hacer tambien se mover a los elementos con el teclado respondiendo a eventos, etc. Lo que no se hacer es como hacer que el acechador persiga (seguro con un Timer) persiga al otro aunque el personaje que yo controlo se mueve.
Bueno, tranquilo.
Eso ya nos dijiste... lo que tu no nos indicaste es como debe moverse, ¿Existe algún condición de movimiento? ¿Vaga libremente? Obedece una trayectoria "curva" sobre el objeto?O por el contario debe ser lineal? ¿Que tan cerca puede estar el "enemigo"?

Hay dos modos básicos de persecución:
1. Seguir la misma trayectoria.
2. Interceptar su trayectoria.

Suponiendo que X eres tu, e Y el enemigo, tenemos:
Para el primer caso algo como esto:
Código:
x
 x
   xx             xxx  
y    xxx     xxxxx  
 y      xxxxx       y
   yy             yy
     yyy     yyyyy 
        yyyyy   
Este efecto es el que tienen algunos juegos de "atrapame si puedes", y es el efecto de estela o cola de algunos cursores. Básicamente lo que hace es imitar el movimiento.

Y para el segundo caso algo como esto:
Código:
x
 x
  x    xxx
   xxxx  
       y
   yyyy
  y
 y
y
Este es más elaborado y lo que busca es la menor ruta hacia el oponente, trata de ir prediciendo hacia donde se mueve el enemigo.

¿Cuál deseas?

Me llama la atención que digas que sabes moverlo, pero a su vez nos estás indicando que no sabes hacer que lo persiga....
No se a lo que quieres llegar... Tu mismo te haz dado la respuesta. Debes emplear un TTimer y dentro del evento OnTimer debes ir decrementando y/o incrementando la posición del enemigo según tu personaje se desplaze.

¿Porqué no nos muestra como vas haciendo? Esto será últil para ti, ya que en vez de estar regalandote algo e imponiendote un diseño te iremos guiando para que tu mismo encuentres la solución.

Si estás esperando un código de obsequio, de mi parte, vete olvidandote. No lo voy a hacer, si en cambio ofrezco mi ayuda a guiarte y aconsejarte sobre tu propio código.

Espero que no tomes a mal mis comentarios, pero si es que dices que sabes moverlo... entonces... ¿donde está el problema?

Como pista te digo que hay por los foros un ejemplo sencillo de un juego que hecho con TImages y TTimers, puedes estudiarlo y darte una ideas; a pesar de que no se ajusta a tus necesidades (perseguir) es útil para refrescar unos conceptos.

El problema al que muy seguramente te haz encontrado es del tipo lógico/matemático y no de programación. Es normal, yo diría más de lo normal. Ya lo he dicho muchas veces: Los juegos son mucha más lógica y matemática de lo que uno piensa...

Olvida los TImages, las propiedades y los eventos... piensa, ¿que haría tu, o como harías tu para perseguir a un ladrón? Piensa en un mapa, en coordenadas. ¿Que sucede cuando uno se desplaza de una posición a otra?

Te invito a tu expongas tus razonamientos y en base a ello ir ajustando las tuercas.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 27-03-2008 a las 04:15:38.
Responder Con Cita
  #9  
Antiguo 27-03-2008
j_flores3000 j_flores3000 is offline
Miembro
 
Registrado: nov 2007
Posts: 40
Poder: 0
j_flores3000 Va por buen camino
ok gracias ya resolvi el problema. Era un problema mio aca dejo el codigo para esto por si alguien lo quiere y dejo un ejemplo con 2 labels en un rar
Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
pertop:=image2.Top;
perleft:=image2.Left;
if image2.Top>image1.top then image1.Top:=image1.top+3 else
image1.Top:=image1.top-10;
if image2.left>image1.left then image1.left:=image1.left+3 else
image1.left:=image1.left-10;
end;
Gracias
Archivos Adjuntos
Tipo de Archivo: zip Componetenes_Perseguidos.zip (5,9 KB, 14 visitas)
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
Copiar Bitmap de un TImage a otro TImage quinqui Gráficos 2 24-01-2008 15:22:30
Problema con Timage despues de hacer LoadFromFile JarLem Varios 6 13-12-2007 11:06:46
¿Como limpiar un Timage? Nelly Varios 2 26-10-2007 19:03:02
como combinar 2 Timage en un tercer Timage JefeNet Gráficos 10 02-09-2004 16:51:35
Como mover un Timage por la form Dantael Gráficos 1 17-11-2003 07:46:56


La franja horaria es GMT +2. Ahora son las 06:12:08.


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