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

Auteur Sujet: Problèmes divers (Visual Studio)  (Lu 2473 fois)

0 Membres et 1 Invité sur ce sujet

Zheraan

  • Newbie
  • *
  • Messages: 7
    • Voir le profil
    • E-mail
Problèmes divers (Visual Studio)
« le: Mars 22, 2017, 11:02:29 pm »
Bonsoir à toutes et à tous,

Je suis un lycéen en classe de terminale qui créé un petit jeu vidéo pour son projet de spécialté (Informatique et Systèmes Numériques) et pour ce faire j'ai donc décidé d'utiliser SFML pour toute la partie graphique, sur conseil de mon professeur.
Étant novice avec SFML j'ai donc décidé de suivre le cours sur Openclassroom.com afin de m'instruire sur son utilisation.
Au fil du tutoriel, j'ai donc essayé d'afficher ma première image, sans succès. Après ceci, me disant que le code était sûrement la cause des erreurs j'ai donc copié celui de la page mais cela ne fonctionne toujours pas et je ne comprends pas les erreurs obtenues à la compilation.

Je poste donc ici une requête d'aide, supposant que j'ai dû foirer quelque chose à l'installation, n'étant pas très familier avec le logiciel (Microsoft Visual Studio).

Voici le code :

#include <SFML/Graphics.hpp>
#include <cstdlib>

using namespace sf;

int main()
{
        // Fenêtre de rendu
        RenderWindow app(VideoMode(600, 600, 32), "Mon superbe polygone SFML !");

        Shape carre;
        carre.AddPoint(200, 200, Color(255, 255, 0), Color(255, 255, 255));
        carre.AddPoint(400, 200, Color(255, 255, 0), Color(255, 0, 0));
        carre.AddPoint(400, 400, Color(0, 255, 255), Color(0, 255, 0));
        carre.AddPoint(200, 400, Color(0, 255, 255), Color(0, 0, 255));
        carre.EnableFill(true); // Remplissage activé
        carre.EnableOutline(true); // Bordures activées
        carre.SetOutlineWidth(20); // Bordures de taille 20 pixels

                                                           // Boucle principale
        while (app.IsOpened())
        {
                Event event;
                while (app.GetEvent(event))
                {
                        // Fenêtre fermée : on quitte
                        if (event.Type == Event::Closed)
                                app.Close();
                }

                // Efface l'écran (remplissage avec du noir)
                app.Clear();

                // Affichage de notre carre dans la fenêtre
                app.Draw(carre);

                // Affichage du contenu de la fenêtre à l'écran
                app.Display();

        }

        return EXIT_SUCCESS;
}
 

Et le screenshot des erreurs en PJ.


Je vous remercie d'avance pour votre aide,

Zheraan.
« Modifié: Mars 27, 2017, 10:09:12 pm par Zheraan »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problèmes de membres (Visual Studio)
« Réponse #1 le: Mars 23, 2017, 12:28:33 am »
Le truc sur openclassrooms utilise une version antique de SFML, la 1.6, et tu as probablement téléchargé la version >= 2.0
Il existe des tutoriels officiels en français sur la version actuelle (2.4), et accompagnés de la documentation c'est une bonne façon d'apprendre à utiliser les parties de SFML qui t'intéressent.

Si tu insistes vraiment pour suivre le truc d'openclassrooms, tu peux toujours télécharger la 1.6 dans la partie "anciennes versions" de la page de téléchargements.



Fesse.vcxproj  :D

Zheraan

  • Newbie
  • *
  • Messages: 7
    • Voir le profil
    • E-mail
Re : Problèmes de membres (Visual Studio)
« Réponse #2 le: Mars 23, 2017, 07:46:04 pm »
Tout d'abord merci pour cette réponse rapide !

Ensuite effectivement, il y a conflit de versions. Je vais essayer de suivre les conseils donnés sur le site de SFML afin de continuer là-dessus.

Encore merci d'avoir pris le temps de régler mon trivial problème, Œil-de-Lynx !

Zheraan

  • Newbie
  • *
  • Messages: 7
    • Voir le profil
    • E-mail
Re : Problèmes de membres (Visual Studio)
« Réponse #3 le: Mars 25, 2017, 11:14:08 am »
Bon du coup j'ai réglé pas mal d'erreurs mais le compilateur ne reconnaît toujours pas le membre "clear" avec la classe Window, ainsi que Draw.

Voici mon code :
#define CRT_SECURE_NO_WARNINGS

#include <SFML/Window.hpp>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>

using namespace sf;

int main()
{
        Window window(sf::VideoMode(800, 600), "My window");
        window.setFramerateLimit(60);

        Texture texture;
        texture.loadFromFile("Foret.jpg");

        if (!texture.loadFromFile("Foret.jpg"))
        {
                printf("Erreur dans le chargement de l'image");
        }
       
        Sprite sprite;
        sprite.setTexture(texture);

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

                //window.clear(sf::Color::Black);

                //window.draw(sprite);

                window.display();
        }

        return 0;
}

Les deux erreurs de membre sont en PJ.

Merci d'avance pour votre réponse !

Zheraan.

Alairion

  • Newbie
  • *
  • Messages: 1
    • Voir le profil
Re : Problèmes de membres (Visual Studio)
« Réponse #4 le: Mars 25, 2017, 11:57:20 am »
Vous devez utiliser une sf::RenderWindow à la place de votre sf::Window. sf::Window est faite pour du rendu OpenGl pas SFML.

Zheraan

  • Newbie
  • *
  • Messages: 7
    • Voir le profil
    • E-mail
Re: Problèmes divers (Visual Studio)
« Réponse #5 le: Mai 09, 2017, 08:18:33 pm »
Rebonjour,

J'ai cette fois-ci un problème dans l'affichage de certaines images, quand je fais un texture.loadFromFile("image.jpg") le programme me renvoie une erreur me disant que le chargement de l'image a échoué, cause "corrupt JPEG". La coïncidence en plus c'est que cela ne se produit qu'avec les images que j'ai retouchées avec GIMP. Je peux pourtant les ouvrir normalement dans d'autres programmes.

Je vous remercie d'avance de votre aide,

Zheraan