Ok, I figured it out (I know someone said that the posE doesn't move the sprite,that was my mistake,now I will paste the code with some explanations for those who had the same problem as me),thanks for the awesome help and explanations.
Texture TExplosion;
if(!TExplosion.loadFromFile("Explosion.png"))
{
cout<<"Error while loading Explosion."<<endl; //Setting the texture
}
TExplosion.setSmooth(1); //Smoothing it to be more appeling
Sprite SExplosion; //Setting the sprite
SExplosion.setTexture(TExplosion); //Setting the texture to the sprite
SExplosion.setOrigin(105.5 , 110); //Setting the origin to the half of the texture
//in the game loop right before the clear();
if(SPolice.getGlobalBounds().intersects(SDodgeViper.getGlobalBounds())) //checking if the Police car intersects the Player car
{
SExplosion.setPosition(pos.x + 50 , pos.y - 40); //if so, the explosion will create
}
I know I didn't had the best explanations, but this will be a good start, correct me if I was wrong.