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 に答える