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

Auteur Sujet: Texture non-visible  (Lu 2088 fois)

0 Membres et 1 Invité sur ce sujet

Savitruc

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Texture non-visible
« le: Mars 15, 2016, 01:33:05 pm »
Bonjour, j'ai récemment découvert SFML et j'a idécidé de suivre les tutoriels et de les tester en même temps sur mon Code::Blocks afin de me familiariser avec la syntaxe. Cependant, en essayant de créer une texture, de lui assimiler une image et d'afficher le sprite contenant cette texture, rien ne se passe. Le programme est juste une fenêtre blanche sans aucune contenu.
Voici le code relativement simple, le nom de l'image à charger est Big_Arms.jpg et elle se trouve dans le même dossier que le projet.
#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <iostream>

int main()
{

    sf::RenderWindow window(sf::VideoMode(800, 800), "Test", sf::Style::Default);


    while (window.isOpen())
    {

        sf::Event event;
        while (window.pollEvent(event))
        {

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

        sf::Texture texture;
        if(!texture.loadFromFile("Big_Arms.jpg"))
        {
            std::cout << "Error: unable to load image Big_Arms.jpg" << std::endl;
            return -1;
        }
        sf::Sprite sprite;

        sprite.setTexture(texture);
        window.draw(sprite);
    }

    return 0;
}

Merci d'avance pour votre aide, j'en suis très reconnaissant.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Texture non-visible
« Réponse #1 le: Mars 15, 2016, 04:38:10 pm »
window.display();

Tu aurais pu trouver ça en prenant n'importe quel exemple fourni avec SFML. Ou en lisant calmement les tutoriels (rien que le tutoriel de démarrage comporte un code qui fonctionne). Ou en regardant la doc (la page d'intro comporte aussi un code qui fonctionne).

Bref si je dis ça c'est pas pour t'enfoncer, c'est juste pour t'éviter de rester bêtement bloqué sur des choses aussi simples ;)

Et à part ça, ça ne sert à rien de charger la texture 200 fois par seconde, une seule fois suffit ;)
Laurent Gomila - SFML developer

Savitruc

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re : Texture non-visible
« Réponse #2 le: Mars 16, 2016, 08:45:52 pm »
Bonjour,
merci beaucoup de la réponse. Je me sens effectivement bien bête d'être passé à côté de ça, mais maintenant on peut être sûr que je n'oublierai jamais. J'ai posté parce que j'avais copié-collé le code du cours pour vérifier mais comme lui non plus ne contient pas la window.display(); je pensais avoir oublié d'inclure un fichier ou je ne sais quoi.
Encore merci pour la réponse sympa :P

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Texture non-visible
« Réponse #3 le: Mars 17, 2016, 08:16:27 am »
Le code de quel cours ne contient pas cet appel ?
Laurent Gomila - SFML developer

Savitruc

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re : Texture non-visible
« Réponse #4 le: Mars 17, 2016, 05:22:09 pm »
C'est juste que comme le cours http://www.sfml-dev.org/tutorials/2.3/index-fr.php là ne contient pas la ligne window.display, j'ai oublié de l'écrire moi-même, mais c'est mon erreur.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Texture non-visible
« Réponse #5 le: Mars 17, 2016, 05:28:54 pm »
Lequel de ces tutoriels montre un code qui affiche des choses sans window.display() ? Si c'est une erreur il faut la corriger.
Laurent Gomila - SFML developer

Savitruc

  • Newbie
  • *
  • Messages: 17
    • Voir le profil
Re : Texture non-visible
« Réponse #6 le: Mars 19, 2016, 09:59:49 am »
Non, on s'est mal compris. Le tutoriel ne montre que des fragments de code en rapport avec la fonction étudiée, et j'ai bêtement copié en pensant que ça fonctionnerait en oubliant d'ajouter le window.dsiplay().
My bad!

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Texture non-visible
« Réponse #7 le: Mars 19, 2016, 10:08:08 am »
Ok ;D
Laurent Gomila - SFML developer