SFML community forums
Help => Graphics => Topic started by: typpi_j on March 04, 2010, 11:37:37 am
-
Hey
I have following code:
for (int i = 0; i < 16; i++)
{
T_BallItem item;
item.radius = sf::Randomizer::Random(15.0f, 80.0f);
item.ball = sf::Shape::Circle(sf::Randomizer::Random(0.0f, 800.0f),
sf::Randomizer::Random(0.0f, 380.0f),
item.radius,
sf::Color(0, 128, 128));
item.ball.SetBlendMode(sf::Blend::Multiply);
items.push_back(item);
std::cout << item.ball.GetPosition().x << "x" << item.ball.GetPosition().y << std::endl;
}
GetPosition() always returns 0 for x and y. What I am doing wrong?
PS. Is it possible to get circle radius somewhere? Now I do it with my own struct
-
What you pass to sf::Shape::Circle are the local positions of the points, relative to the shape's origin. GetPosition returns the global position of the whole shape, which is zero because you never move it.
PS. Is it possible to get circle radius somewhere?
No, because what you get is a shape, not a circle. sf::Shape::Circle is just a helper function that creates a shape whose points are arranged in circle. After construction, a shape is just a set of points.
-
Thank you. I got it working by using your advice.