Buenas,
Tengo un problema al intentar colisionar dos figuras en sfml, la cosa es que colisiona pero en vez de chocar y estarse quieto sin poder avanzar se coloca en la otra parte de la otra figura y así consecutivamente.
Aquí un vídeo previo del error:
El vídeo es capturado por mi, dura 30 seg. Para mostrar el error. https://www.youtube.com/watch?v=i8TFZbfo7EE
Código:
Código C++:
Ver originalsf::FloatRect rect = rec.getGlobalBounds();
sf::FloatRect rect2 = rec2.getGlobalBounds();
if(rect.intersects(rect2)){
if(rec.getPosition().x<400){
std::cout << rec.getPosition().x << std::endl;
rec.setPosition(350, rec.getPosition().y);
}
if(rec.getPosition().x>400){
rec.setPosition(450, rec.getPosition().y);
}
if(rec.getPosition().y<400){
rec.setPosition(rec.getPosition().x, 350);
}
if(rec.getPosition().y>400){
rec.setPosition(rec.getPosition().x, 450);
}
}
rec -> es el rectángulo que manejo con el keyboard.
rec2 -> es el rectángulo que está situado fijamente en el centro de la ventana.
Si supiesen a que debe deberse dicho error agradecería alguna respuesta.
Gracias.
Saludos!