Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - hastaris

Pages: [1]
1
Fenêtrage / Probleme avec des MouseButton [EVENT]
« le: Mai 23, 2017, 04:40:57 pm »
Salut a tous !

En gros , j'ai un soucis avec l'Event
Bon ... j'ai un soucis avec SFML , je code en 2.4.2 , sous visual studio 2012 en C++ .
J’essaie de créer un petit jeu de bataille naval et j'ai été trés satisfait pour le moment , une biblio très sympa a vrai dire ! jusqu’à ce que je fasse gérer les Event 
j'ai beau suivre le tuto officiel et me débrouiller je trouve pas du tout (https://www.sfml-dev.org/tutorials/2.4/index-fr.php)

Il semblerai que l'event se produise en boucle , j'ai donc créer un petit code pour confirmer mes soupçons , que voici :
int main()
{
        const int margeFen = 70 ;
        const int tailleCase = 40 ;
        const int margeTabl = 40 ;
        const int nbCase = 10 ;
        int compteur = 0 ;
        vector<RectangleShape> debugg ;

    RenderWindow window(VideoMode((margeFen*2) + (tailleCase*nbCase*2)+margeTabl, (margeFen*2) + tailleCase*nbCase), "Battaille Naval");

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

                if(event.type == sf::Event::MouseButtonReleased)
                {
                        if (event.mouseButton.button == sf::Mouse::Right)
                        {
                                RectangleShape rect(Vector2f(50 , 50));
                                rect.setFillColor(Color::Yellow);
                                rect.setPosition( 60*compteur , 100 );
                                compteur++;
                                debugg.push_back(rect);
                        }
                }

        window.clear();
               
//-----------[DRAWING]-->[DEBUT]----------
                for (int i = 0 ; i < debugg.size() ; i++)
                {
                        window.draw(debugg.at(i));
                }

//------------[DRAWING]-->[FIN]-----------

        window.display();
    }

    return 0;
}
 

et en un clic droit , j'obtient une bande compléte de carré jaune , ce qui veux dire qu'il se répète en boucle ? je ne trouve rien a vrai dire ... et je sèche xDDD : comment éviter cette répétition ?

Pages: [1]
anything