Hi
Your first call to sprite.Resize() is actually useless. When you set an image of a sprite for the first time, the sprite will take the size of the image.
Then, the Resize() method is used to change the size of the sprite itself (with scale handling), not the surface that is drawn from the image.
To modify the image surface drawn by the sprite, you shall use the SetSubRect() method :
http://www.sfml-dev.org/documentation/1.6/classsf_1_1Sprite.php#a54bf1e6b425c40b00dd544a9c4fb77dfIf you want to change the image drawn of a sprite, this could help you :
mySprite.SetImage(myNewImage);
mySprite.SetSubRect(sf::IntRect(0, 0, myNewImage.GetWidth(), myNewImage.GetHeight()));