Colisión Entre Objetos


Objetivo: Colisión Entre Objetos
Buenas!.

Hice este ejemplo en el que se puede ver una serie de rectángulos que caen. El cursor al pasarlo sobre el área de dibujo,
se centra en este un rectángulo.

Con este vamos eliminando el resto de los rectángulos que caen. O bien lo pasamos por encima de los otros, o
dejamos que caiga el rectángulo sobre el que manejamos.

El problema que me encuentro es el del area que ocupa cada objeto. En principio, como se referencia se toma el vértice
superior de cada rectángulo. Si este se encuentro dentro del area que ocupa nuestro rectangulo, se elimina de la pantalla.

Me gustaría que fuera de otra forma. Es un comienzo.
Si me podéis ayudar con la función de colisión, mejor.

colisiones

Public Sub Colision(prota As ClsRectangulo, unrectangulo As ClsRectangulo)


If (unrectangulo.x >= prota.x And
unrectangulo.x <= (prota.x + prota.ancho)) And
(unrectangulo.y >= prota.y And
unrectangulo.y <= (prota.y + prota.alto)) Then
gRectangulos.Remove(gRectangulos.Find(unrectangulo))
Endif

End


Saludos


RectanguloColisiones.tar.gz
Descripción:  
Descargar
Nombre del archivo: RectanguloColisiones.tar.gz
Tamaño: 14.47 KB
Descargado: 72 veces
RectanguloColisiones.tar.gz
Descripción:  
Descargar
Nombre del archivo: RectanguloColisiones.tar.gz
Tamaño: 14.47 KB
Descargado: 72 veces
RectanguloColisiones.tar.gz
Descripción:  
Descargar
Nombre del archivo: RectanguloColisiones.tar.gz
Tamaño: 14.47 KB
Descargado: 72 veces

Objetivo: Re: Colisión Entre Objetos
Creo que he dado con la respuesta. Los centros de un rectángulo con respecto al que muevo y tener en cuenta el ancho y alto de cada rectángulo.
Lo veré luego.

Saludos

Objetivo: Re: Colisión Entre Objetos
si para que sea colisión tendría que producirse al coincidir el borde de un rectángulo con el borde de otro rectángulo, en el ejemplo la colisión se da cuando esta mas cerca del centro.


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 1.1968s (PHP: -93% SQL: 193%)
Consultas SQL: 47 - Debug off - GZIP Activado