我该如何在SFML中获取形状位置?

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,我错过了什么吗?

1个回答

2
通过调用 sf::Shape::Circle() 构造函数,只会将偏移量相对于位置设置为 300,30。要实际设置圆的位置,需要调用:
rootCircle.SetPosition(300.0f, 30.0f);

请注意,将位置设置为300,30,无论在Circle()构造函数中指定的偏移量是什么,都将相对于实际指定的位置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接