Я использую 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. Что мне не хватает?
При вызове конструктора sf :: Shape :: Circle () только смещение относительно позиции устанавливается равным 300,30. Чтобы на самом деле установить положение круга, вам нужно позвонить:
rootCircle.SetPosition(300.0f, 30.0f);
Обратите внимание, что, установив позицию на 300,30, любое смещение, указанное в конструкторе Circle (), будет относиться к фактической указанной позиции.
Других решений пока нет …