如何在SFML中访问形状位置?

时间:2012-11-22 21:22:50

标签: c++ drawing sfml shapes

我正在使用SFML在C ++中绘图。在我尝试访问我在屏幕上绘制的圆圈位置之前,它一直很顺利。代码:

sf::Shape RootCircle = sf::Shape::Circle(300, 30, 30, sf::Color::Blue);
App.Draw(RootCircle);
cout << "X: " <<  RootCircle.GetPosition().x << endl;
cout << "Y: " <<  RootCircle.GetPosition().y << endl;

它告诉我x和y位置设置为0.我缺少什么?

1 个答案:

答案 0 :(得分:2)

通过调用sf :: Shape :: Circle()构造函数,只有相对于position的偏移量设置为300,30。要实际设置圆圈的位置,您需要调用:

rootCircle.SetPosition(300.0f, 30.0f);

请注意,通过将位置设置为300,30,Circle()构造函数中指定的任何偏移量都将相对于指定的实际位置。