C++/SFML: afficher plusieurs formes simultanément à l'écran

Résolu
JLesage Messages postés 33 Date d'inscription mercredi 14 novembre 2012 Statut Membre Dernière intervention 23 février 2024 - 22 févr. 2024 à 03:35
mamiemando Messages postés 33158 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 21 juin 2024 - 27 févr. 2024 à 03:39

Bonjour. Je suis débutant en c++ et je suis entrain d'apprendre SFML. J'ai codé un petit programme pour afficher simultanément plusieurs formes de taille, de couleur et de position différente à l'écran, mais je ne comprends pas pourquoi il ya juste une forme qui s'affiche quand le code est exécuté. Aidez-moi s'il vous plaît. 


Linux / Chrome 121.0.0.0

#include <SFML/Graphics.hpp>

#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */

#include <iostream>

using std::vector;

using std::cout;
using std::cin;
using std::endl;



int main()
{
    sf::RenderWindow window(sf::VideoMode(800, 600), "SFML works!");

    vector<sf::RectangleShape> vecRec;

    srand(time(NULL));

    int r, g, b = rand()%255+1;

    sf::Vector2f recSize(rand()%40+20, rand()%40+20);
    sf::Vector2f recPos(rand()%760+1, rand()%560+1);

    while (window.isOpen()) {
        sf::Event event;
        while (window.pollEvent(event)) {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();


        sf::RectangleShape rec;
        rec.setFillColor(sf::Color(r,g,b));
        rec.setSize(recSize);
        rec.setPosition(recPos);
        vecRec.push_back(rec);

        /*for(auto& r: vecRec){
            window.draw(r);
        }*/

        for(int i=0; i<vecRec.size();i++){
            window.draw(vecRec[i]);
        }


        window.display();
    }

    return 0;
}

1 réponse

JLesage Messages postés 33 Date d'inscription mercredi 14 novembre 2012 Statut Membre Dernière intervention 23 février 2024 5
23 févr. 2024 à 04:26

Résolu.

1
mamiemando Messages postés 33158 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 21 juin 2024 7 760
27 févr. 2024 à 03:39

Bonjour, vu que la discussion ne comporte pas réellement de réponse, peux-tu soit expliquer comment tu as procédé, soit supprimer ce fil de discussion (au besoin je peux le faire). Merci

0