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

Auteur Sujet: [Résolu] Afficher un sprite  (Lu 2351 fois)

0 Membres et 1 Invité sur ce sujet

christophedlr

  • Full Member
  • ***
  • Messages: 151
    • Voir le profil
    • E-mail
[Résolu] Afficher un sprite
« le: Novembre 11, 2012, 10:39:46 am »
Bonjour,

Vu que je suis passé sur la SFML2, je fais des tests pour apprendre son utilisation, et je bute sur un problème que voici :
Dans le cadre de l'exposé que je dois rendre mercredi (exposé oral), je voulais refaire le TP du SDZ sur Mario Sokoban. Hélas je n'arrive pas à afficher un sprite.

Voici le code complet (pour l'instant qui n'est que minimal) :
#include <SFML/Graphics.hpp>

int main(void)
{
        sf::RenderWindow window(sf::VideoMode(800, 600, 32), "Tests sprites");
        sf::Texture texture;
        sf::Sprite sprite;

        texture.loadFromFile("images/caisse.jpg");
        sprite.setTexture(texture);

        while (window.isOpen())
    {
        // on inspecte tous les évènements de la fenêtre qui ont été émis depuis la précédente itération
        sf::Event event;
        while (window.pollEvent(event))
        {
            // évènement "fermeture demandée" : on ferme la fenêtre
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(sprite);
        window.display();
    }

        return 0;
}
 

Je me retrouve avec une fenêtre vide (que du noir), par contre si je charge une autre texture et donc un autre sprite, lui il s'affiche pas mais le premier oui.

Merci d'avance pour votre aide.

P.S. : La console ne renvoi pas d'erreur, l'image est belle et bien trouvée.
« Modifié: Novembre 11, 2012, 09:59:52 pm par christophedlr »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Afficher un sprite
« Réponse #1 le: Novembre 11, 2012, 03:04:40 pm »
Quel OS ? Quelle carte graphique ? Quelle version de SFML 2 ? Tes pilotes graphiques sont-ils à jour ?
Laurent Gomila - SFML developer

christophedlr

  • Full Member
  • ***
  • Messages: 151
    • Voir le profil
    • E-mail
Re : Afficher un sprite
« Réponse #2 le: Novembre 11, 2012, 04:10:22 pm »
Windows 7 Home Premium
Pour SFML2 c'est la version pré-compilé que tu donnes sur le site.
Les pilotes de la carte graphique sont à jour, c'est une NVidia Geforce GTX 650.

Ce que je ne comprend pas c'est que si j'ajoutes un second sprite, le premier s'affiche mais pas le second. Et si je n'en met qu'un, il s'affiche pas.

J'ai l'impression qu'il ne prend qu'un élément sur deux lol.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Afficher un sprite
« Réponse #3 le: Novembre 11, 2012, 04:24:38 pm »
Et si tu en mets plus que deux ?
Laurent Gomila - SFML developer

christophedlr

  • Full Member
  • ***
  • Messages: 151
    • Voir le profil
    • E-mail
Re : Afficher un sprite
« Réponse #4 le: Novembre 11, 2012, 06:55:12 pm »
Bon là je ne comprend plus rien. Je viens de tester en en mettant 3, les trois s'affichent. Si je les retires et que j'en ai laisse qu'un, ça s'affiche aussi alors que quand j'ai posté, ce n'était pas le cas un seul ça fonctionnait pas.

Et là je viens à l'instant sans rien toucher au code, de lancer le programme pour l'exposé (le début donc de code pour refaire mario sokoban), et ça s'affiche.

J'y comprend plus rien du tout, j'ai du avoir un bogue de windows ou de la carte graphique.

Du coup finalement j'aurais pu le faire le mario sokoban pour l'exposé, hélas j'ai peu de plus avoir le temps. Dommage, bref finalement je t'ai dérangé pour rien lol.