Мой код здесь:
Как указано выше, я пытаюсь нарисовать серию полос по экрану с различными позициями х и храню их в массивах. Кажется, что код рисует только 1 прямоугольник, хотя я проверил, и каждый столбец имеет свою позицию x, так что я уверен, что проблема в том, как я рисую объекты, но он кажется правильным. Я также создал аналогичную программу с векторами, использующими тот же цикл для рисования, но с .at (i), который вместо этого работает, но это странным образом не работает.
Я пытался выяснить это дляпока я устал, поэтому, пожалуйста, помогите, укажите мои ошибки ... и т.д ...
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(640, 640), "Square", sf::Style::Close | sf::Style::Resize);
sf::RectangleShape bar[64] = {sf::RectangleShape(sf::Vector2f( (window.getSize().x)/64.0f ,100.0f))};
// creates 64 bars of equal width
for (int i = 0; i < 64; i++)
{
bar[i].setFillColor(sf::Color(0, 0, 255, 255));
bar[i].setPosition( 10*i , (window.getSize().y)/2);
// sets bars x position to shift over for every bar
}
bar[3].setPosition(600, 300);
// just a test doesn't render even though it should
while (window.isOpen())
{
//////////////////////////////////////////////////
window.clear(sf::Color(130, 130, 150, 255));
for (int i = 0; i < 64; i++)
{
window.draw(bar[i]);
}
window.display();
/////////////////////////////////////////////////
}```
I cut out the rest of the code as the rest works and really has nothing to do with the code for simplicity sake
I want it to render out rectangles across the screen but it only displays one and I can't figure out why?