Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/06/2011, 21:03
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años
Puntos: 260
Sonrisa Respuesta: Rectangle intersects

Hola,

Cita:
Iniciado por GENESISBM Ver Mensaje
Mi pregunta es la mar de sencilla, ¿como puedo hacer que, detecte la colision antes de llegar?
Esas son condiciones básicas de programación, hay dos tipos de estructuras para controlar errores, preventivo y correctivo. En tu caso estas tratando de aplicar correctivo cuando evidentemente ya no se puede corregir (a mas reviertas el movimiento anterior). Por ejemplo:

Correctivo:

Código Java:
Ver original
  1. A = 1000;
  2. if (Arriba) {
  3.   A = A + 1;
  4. } else {
  5.   A = A - 1;
  6. }
  7. if (A > 1) {
  8.   // ¿Ahora que hacemos? ¿Se incremento o decremento A?
  9.   // ¿Como corregimos A?
  10. }
Preventivo:

Código Java:
Ver original
  1. A = 1000;
  2. B = A;
  3. if (Arriba) {
  4.   B = B + 1;
  5. } else {
  6.   B = B - 1;
  7. }
  8. if (B > 1) {
  9.   // No hay problema el valor es de B
  10.   // no hay que corregir A ni nada
  11. } else {
  12.   A = B; // Como es correcto hacemos la acción.
  13. }
En tu caso tienes que hacer una copia del Rectangle antes de hacer el movimiento, realizas el movimiento en la copia, después comparas si no hay intersección con la copia, si no hay intersección con la copia entonces realizas el movimiento en el original.

Saludos,