У меня есть вектор sf :: RectangleShape . Я хочу, чтобы все прямоугольники имели одинаковый размер. Я создаю прямоугольники со следующим циклом:
std::vector<sf::RectangleShape> rectangles;
for (int i = 0; i < N; i++) {
sf::RectangleShape r(sf::Vector2f(200,100));
r.setOutlineColor(sf::Color::Red);
r.setOutlineThickness(1);
r.setPosition(i*WEIGHT_RECTANGLE, 0);
r.setFillColor(sf::Color(150, 50, 250));
rectangles.push_back(r);
}
Моя проблема в том, что размер применяется только для последнего прямоугольника. Увидеть :
Положение фигуры работает хорошо.
Я также пытался создать новый sf :: Vector2f и использовать функцию setSize следующим образом:
for (int i = 0; i < N; i++) {
sf::RectangleShape r;
sf::Vector2f size(200, 100);
r.setSize(size)
r.setOutlineColor(sf::Color::Red);
r.setOutlineThickness(1);
r.setPosition(i*WEIGHT_RECTANGLE, 0);
r.setFillColor(sf::Color(150, 50, 250));
rectangles.push_back(r);
}
Но у меня тот же результат.
Спасибо за вашу помощь!
кстати, я использую Visual Studio 17 с последней версией SFML