No consigo sacarlo, lo explico para ver si alguien me puede ayudar.
Estoy haciendo un pequeño jueguecillo muy simple que tiene un div fijo en el medio de la pantalla y uno pequeño dentro que lo voy moviendo con las flechas del teclado.
Luego por javascript voy generando unos más pequeños aleatoriamente para que el otro los recoja.
Mi problema es que no consigo sacar exactamente cuando se cruzan los dos cuadros.
Todo lo demás(generarlos, mover, etc) ya funciona.
Esta es la función que ejecuto en un setInterval() cada muy poco para comprobar si los dos cuadros se están tocando.
Código:
Los 2 cuadros son de 20x20 pixels. Como se ve en el código, obtengo las posiciones de los cuadros e intento comparar las posiciones horizontal y vertical y si ambas se cruzan en algún punto llamo a crear(); para generar otro cuadro aleatorio.function comprobar() { swx = false; swy = false; //POSICION ACTUAL DEL CUADRO QUE SE MUEVE var fijo = document.getElementById("mov"); var fijoy = parseInt(fijo.style.top, 10); var fijox = parseInt(fijo.style.left, 10); //POSICION ACTUAL DEL CUADRO RANDOM var random = document.getElementById("random"); var randomy = parseInt(random.style.top, 10); var randomx = parseInt(random.style.left, 10); for (x=fijox;x<=(fijox+20);x++) { for (y=randomx;y<(randomx+20);y++) { if (x == y) { swx = true; } } } for (x=randomy;x<=(randomy+20);x++) { for (y=fijoy;y<=(fijoy+20);y++) { if (x == y) { swy = true; } } } if(swx==true && swy==true) { crear(); } }
En el eje x me funciona perfectamente. Pero tengo problemas en el eje y. Paso por encima del cuadro que tengo que recoger y me cuenta como si lo tocara, y otras veces paso por en medio y no cuenta.
Alguna idea?
Gracias.