Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Le rectangle n'apparait pas dans ma fenêtre [Résolu]  (Lu 1564 fois)

0 Membres et 1 Invité sur ce sujet

Rafnavi

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
    • E-mail
Le rectangle n'apparait pas dans ma fenêtre [Résolu]
« le: Novembre 04, 2015, 01:42:46 am »
J'ai un problème, mon rectangle que j'ai normalement crée et dessiné n'apparait pas sur ma fenêtre...
Je suis sur VisualStudio2015.


Voici le code:


[/#include <SFML/Graphics.hpp>

#pragma region variables
sf::CircleShape cercle;
sf::RenderWindow windowr;
sf::RectangleShape rect;
#pragma endregion variables


int main()
{    

//Création fenêtre

sf::Window window(sf::VideoMode(800, 600), "StepBlocks");

//Paramètres rectangle

        {
                rect.setSize(sf::Vector2f(100, 100));
                rect.setPosition(10, 10);
                rect.setFillColor(sf::Color::Red);
        }

//Quand la fenêtre est ouverte

        while (window.isOpen())
        {
                sf::Event event;
                while (window.pollEvent(event))
                {
   
//Si on appuie sur ESC

                        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Escape))
                                window.close();

//Si on appuie sur fermer

                        if (event.type == sf::Event::Closed)
                                window.close();
                }

//Dessin du rectangle
               
                windowr.draw(rect);
                windowr.display();
                windowr.clear();
               
        }

        return 0;

}]



Merci d'avance pour votre aide! :)
« Modifié: Novembre 04, 2015, 07:42:05 am par Rafnavi »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Le rectangle n'apparait pas dans ma fenêtre
« Réponse #1 le: Novembre 04, 2015, 04:01:41 am »
Pourquoi t'as 2 fenêtres ?
Une sf::Window initialisée et ouverte sur laquelle tu ne dessines rien, et une sf::RenderWindow non-initialisée sur laquelle tu dessines ton rectangle.
Si tu ne veux qu'une fenêtre, n'utilise qu'une fenêtre.
Si tu veux dessiner quelque chose avec SFML sur cette fenêtre, il faut que cette fenêtre soit une sf::RenderWindow.

En gros dégage windowr et fais de window une sf::RenderWindow plutôt qu'une sf::Window


Il me semble que c'est pas conseillé de créer des fenêtres statiques comme tu le fais, d'autant plus que dans le cas que tu montres ça n'a aucun intérêt.
Ensuite, sf::Keyboard::isKeyPressed c'est pas un évènement. C'est pas incorrect de l'utiliser à l'intérieur de ta boucle d'évènement, mais si tu comprends pas la différence entre les évènements et le isKeyPressed tu risques d'être un peu perdu plus tard. Tu devrais faire ça avec l'évènement KeyPressed (ou KeyReleased) et vérifier si la touche pressée est Escape. Comme dans le tutoriel sur les évènements.
« Modifié: Novembre 04, 2015, 04:06:49 am par G. »

Rafnavi

  • Newbie
  • *
  • Messages: 13
    • Voir le profil
    • E-mail
Re : Le rectangle n'apparait pas dans ma fenêtre
« Réponse #2 le: Novembre 04, 2015, 07:40:45 am »
 ;D Merci beaucoup, jai fais ce que tavait dit et ça marche!

 

anything