Ver Mensaje Individual
  #6 (permalink)  
Antiguo 26/09/2007, 06:48
Avatar de Kelpie
Kelpie
 
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 10 meses
Puntos: 8
Re: colisiones de imagenes

La mejor manera de detectar 'solapes' entre objetos es comprobar la interferencia de sus posiciones.

El código que plenteas es bastante raro...

El código genérico podría ser algo así:

Código PHP:
function solapa(obj1,obj2){
    
h=false//Flag de solape horizontal
    
v=false//Flag de solape vertical
    
if (obj1.x1>obj2.x1 && obj1.x1<obj2.x2 || obj1.x2>obj2.x1 && obj1.x2<obj2.x2h=true;
    if (
obj1.y1>obj2.y1 && obj1.y1<obj2.y2 || obj1.y2>obj2.y1 && obj1.y2<obj2.y2v=true;
    return (
h&&v); //Devolver la unión de flags. Solo será true si ambos es true

Esto no considera el caso de que se rocen. Si se rozan devuelve que no solapan, aunque en realidad solapan 1px. Para modificar este comportamiento hay que cambiar los "menor" y "mayor" por "menor o igual" y "mayor o igual".

Luego, y ya para nota, se podría hacer una función que devuelva si solapan, se rozan o ni se tocan...
__________________
Kelpie