3

我正在使用 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。我错过了什么?

4

1 回答 1

2

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

rootCircle.SetPosition(300.0f, 30.0f);

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

于 2012-12-15T04:34:15.537 回答