我正在使用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.我缺少什么?
答案 0 :(得分:2)
通过调用sf :: Shape :: Circle()构造函数,只有相对于position的偏移量设置为300,30。要实际设置圆圈的位置,您需要调用:
rootCircle.SetPosition(300.0f, 30.0f);
请注意,通过将位置设置为300,30,Circle()构造函数中指定的任何偏移量都将相对于指定的实际位置。