Ver Mensaje Individual
  #12 (permalink)  
Antiguo 26/06/2015, 19:19
Avatar de iblancasa
iblancasa
 
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: [SFML] Colisión rebota

Perdona pero no veo la diferencia en el código cuando te da los distintos errores.

Mira el primer caso:

Código:
if(rect.intersects(rect2)){
            comprobarIntersecta(rec.getGlobalBounds(),rec2.getGlobalBounds());
        }
Estás pasando 2 argumentos.


Código:
error: too many arguments to function 'void comprobarIntersecta()'|
"Demasiados argumentos en la función comprobarIntersecta()". Esa función no tiene argumentos, está mal declarada...

Si ves el mensaje que escribí que empezaba
Cita:
Lo que has hecho tiene la misma lógica de lo que yo te comentaba.
Te escribí esta función


Código:
void comprobarIntersecta(sf::FloatRect A, sf::FloatRect B){
//A es el que se mueve. B el que está quieto

if(A.top-(B.top+B.height)==0){//Choca con la parte de arriba por abajo del que está quieto
   chocar[0]=true;
}

if((A.top+B.height)-B.top)==0){//Choca con la parte de abajo por arriba del que está quieto
   chocar[1]=true;
}

if((A.left+A.width)-B.left>0){//Choca con la derecha por la izquierda del que está quieto
   chocar[2]=true;
}

if(A.left-(B.left+B.width)>0){//Choca con la izquierda por la derecha del que está quieto
   chocar[2]=true;
}


}
Esa función tiene los dos argumentos. Revisa tu código... estás haciendo una mezcla de todo...