SFML community forums

Help => Graphics => Topic started by: N1ghtly on January 08, 2012, 08:05:15 pm

Title: sf::Sprite has no member named GetSize
Post by: N1ghtly on January 08, 2012, 08:05:15 pm
Hello all,

I'm trying to get sfml up and running on linux. I downloaded the latest Git snapshot and compiled. I link correctly to the libs, yet I keep getting the error stated in the title.

Any suggestions?
Title: sf::Sprite has no member named GetSize
Post by: texus on January 08, 2012, 08:15:45 pm
You are probably calling Sprite.GetSize() somewhere, but this function doesn't exist.
You probably found the function in the sfml 1.6 tutorial, but it seems to be removed in sfml2.

After a quick look in Sprite.hpp I think you will need GetTextureRect.
This function is a little bit different (it returns a rect instead of the size), but I think it will give you the same result.

Otherwise you can call Texture.GetWidth() and Texture.GetHeight() to find out what the size of the texture is.
Title: sf::Sprite has no member named GetSize
Post by: Laurent on January 08, 2012, 08:30:11 pm
TextureRect doesn't take the scale in account. The correct replacement is sprite.GetGlobalBounds(), which returns the bounding rectangle. You can then extract its width/height.
Title: sf::Sprite has no member named GetSize
Post by: N1ghtly on January 09, 2012, 08:40:47 pm
Thanks, I wasn't aware these functions had been removed. I used an older version of SFML 2 before this.