Al momento de desarrollar juegos en visual, lo más importante es detectar colisión entre dos objetos  del formulario. Es muy sencillo, necesitas conocer la posición y dimensiones... y  bla bla bla. A continuación te dejo una función  booleana que recibe dos objetos; en este caso un Picturebox y un Label, el cual si existe colisión devuelte true, de lo contrario false.
Public Function Colission(ByVal a As PictureBox, ByVal b As Label) As Boolean 'si hay contacto retorna True - si no hay contacto retorna False
    
If ((a.Location.X < b.Location.X + b.Width) And (b.Location.X < a.Location.X + a.Width) And (a.Location.Y < b.Location.Y + b.Height) And (b.Location.Y < a.Location.Y + a.Height)) Then
Return True
Else
Return False
End If
End Function
Es importante mencionar que esta función trabaja perfectamente, con rectángulos/cuadrados.
--
Nota: La información contenida en esta publicación, así como el código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin garantías de ninguna clase, y no otorga derecho alguno. Usted asume cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o sugerido en la presente publicación.
muy bueno ;) mi profesor me dijo ke las colisiones tmbien las podia hacer usando setbounds pero no pude :S haha
ResponderEliminaresta manera tmbien funciono :D grasias
Hola,
ResponderEliminarY si los rectagulos cambiasen de angulo, en funcion del evento del raton,por ejenmplo un juego de estrategia espacial...como detectaria entonces la colision?
Gracias.
saludos.
Interesante pregunta, antes que nada te recuerdo que .net no esta diseñado para hacer juegos, si necesitas mayor realismo y mejor precisión, te recomiendo programar usando DirectX junto con XNA, los cuales están diseñados para realizar lo que necesitas sin sobrecargar el sistema.
Eliminar