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.


Sujets - zedex

Pages: [1]
1
Général / Première utilisation
« le: Août 27, 2015, 08:12:04 pm »
Bonjour,

Je cherche à exécuter le code de test ("SFML works!") mais je n'y parviens pas. J'obtiens le message d'erreur :
Citer
Le point d'entrée de procédure _ZSt24__throw_out_of_range_fmtPKcz est introuvable dan la bibliothèque de liens dynamiques C:\Users\Cédric\Documents\Programmation\Projets-Ressources\Editeur_de_Cartes\bin\Debug\sfml-graphics-2-dll.

J'ai donc essayé de compiler SFML à l'aide de CMake gui et en utilisant le fichier CMakeLists.txt.

J'ai bien indiqué le code source de SFML (ce doit être la racine de la hiérarchie SFML, là où se trouve le premier fichier CMakeLists.txt), mais j'obtiens le message d'erreur suivant :

Citer
The C compiler identification is GNU 4.7.1
The CXX compiler identification is GNU 4.7.1
Check for working C compiler: C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe
Check for working C compiler: C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe -- broken
CMake Error at C:/Program Files (x86)/CMake/share/cmake-3.3/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "C:/Program Files (x86)/CodeBlocks/MinGW/bin/gcc.exe" is not
  able to compile a simple test program.

  It fails with the following output:

   Change Dir: C:/Users/Cédric/Documents/Programmation/Projets-Ressources/Editeur_de_Cartes/SFML-2.3.1-build/CMakeFiles/CMakeTmp

 

  Run Build Command:"C:/PROGRA~2/CODEBL~1/MinGW/bin/mingw32-make.exe"
  "cmTC_5e7d4/fast"

  C:/PROGRA~2/CODEBL~1/MinGW/bin/mingw32-make.exe -f
  CMakeFiles\cmTC_5e7d4.dir\build.make CMakeFiles/cmTC_5e7d4.dir/build


  mingw32-make.exe[1]: Entering directory
  `C:/Users/C�dric/Documents/Programmation/Projets-Ressources/Editeur_de_Cartes/SFML-2.3.1-build/CMakeFiles/CMakeTmp'



  Building C object CMakeFiles/cmTC_5e7d4.dir/testCCompiler.c.obj


  C:\PROGRA~2\CODEBL~1\MinGW\bin\gcc.exe -o
  CMakeFiles\cmTC_5e7d4.dir\testCCompiler.c.obj -c
  C:\Users\Cédric\Documents\Programmation\Projets-Ressources\Editeur_de_Cartes\SFML-2.3.1-build\CMakeFiles\CMakeTmp\testCCompiler.c



  gcc.exe: error:
  C:\Users\Cédric\Documents\Programmation\Projets-Ressources\Editeur_de_Cartes\SFML-2.3.1-build\CMakeFiles\CMakeTmp\testCCompiler.c:
  No such file or directory


  gcc.exe: fatal error: no input files


  compilation terminated.


  mingw32-make.exe[1]: *** [CMakeFiles/cmTC_5e7d4.dir/testCCompiler.c.obj]
  Error 1


  mingw32-make.exe[1]: Leaving directory
  `C:/Users/C�dric/Documents/Programmation/Projets-Ressources/Editeur_de_Cartes/SFML-2.3.1-build/CMakeFiles/CMakeTmp'



  mingw32-make.exe: *** [cmTC_5e7d4/fast] Error 2


 

 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:35 (project)


Configuring incomplete, errors occurred!
See also "C:/Users/Cédric/Documents/Programmation/Projets-Ressources/Editeur_de_Cartes/SFML-2.3.1-build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/Cédric/Documents/Programmation/Projets-Ressources/Editeur_de_Cartes/SFML-2.3.1-build/CMakeFiles/CMakeError.log".

J'ai beau essayer de le lancer en mode admin mais rien n'y fait. Je suis à cours d'idées.

Pour info, je suis sous Windows 8.1, j'utilise Code::Blocks 13.12, SFML 2.3.1 et CMake 3.3.1

Merci d'avance.
Cordialement,

2
Graphique / Soucis avec sf::Drawable
« le: Février 01, 2014, 10:16:52 am »
Bonjour.

Dans mon projet, j'essaye de faire comme selon le tutoriel pour dessiner une carte grâce à un tableau de vertex, et je voudrait y ajouter des lignes noires pour délimiter chaque cases. Ces lignes sont ajoutées, mais je ne parviens pas à les ajouter dans la fonction draw() :

class Map : public sf::Drawable, public sf::Transformable
{
    public:
        Map();
        ~Map();
        ...        // Quelques fonctions...
    private :
        virtual void draw(sf::RenderTarget&,sf::RenderStates) const;
    protected:
        ...        // Quelques fonctions...
        sf::VertexArray     m_array;        // Lignes de delimitation des cases.
};

void Map::draw(sf::RenderTarget& target, sf::RenderStates states) const
{
    states.transform *= getTransform();
    states.texture = &m_tTileSet;
    target.draw(m_vertices, states);

    draw(m_array);      // Je voudrais dessiner mes lignes ici, mais la fonction n'est pas reconnue.
}

Je pense que le problème est tout bête, mais là je sèche.

Merci.

3
Graphique / Créer une barre de défilement.
« le: Octobre 24, 2013, 04:34:25 pm »
Bonjour.

Je cherche à réaliser un petit logiciel pour éditer et générer graphiquement des cartes à partir d'une feuille de tuiles (tile set). Mes feuilles étant parfois trop grandes pour mon écran, je cherche à réaliser une barre de défilement à côté de la feuille de tuiles tel que représenté sur la figure suivante :


Exemple de ma fenêtre de sélection de tuile

J'ai donc créé un objet Scroll qui créé et affiche la barre de défilement, en plus de quelques options supplémentaires, et pour faire défiler les objets je procède ainsi :

void WindowTileSet::scrollWheel(int delta)
{
    // delta étant le paramètre +/- 1 indiquant le sens de rotation de la molette.
    m_vTileSet.move(0,-delta);      // m_vTileSet étant la vue de la feuille de tuiles.
    m_vScroll.move(0,delta);        // m_vScroll étant la vue de la barre de défilement.
}

Maintenant j'aimerais pouvoir interagir avec lorsque l'on clique et déplace la souris, mais je manque d'idées sur la manière de procéder...

4
Général / Gérer une fenêtre avec une classe
« le: Octobre 23, 2013, 12:16:35 am »
Bonsoir.

Je cherche à gérer une fenêtre par une classe du genre :

Classe :
#include <SFML/System.hpp>
#include <SFML/Graphics.hpp>

class Window : public sf::RenderWindow
{
    public :
        Window();

        sf::Sprite  getSprite();        // Renvoie le sprite de la fenetre.

    private :
        sf::RenderWindow    m_window;   // Render Window.
        sf::Texture         m_texture;  // Texture contenant la feuille de tuiles.
        sf::Sprite          m_sprite;   // Sprite contenant et affichant la texture.

};

Méthodes :
Window::Window()
{
    // Cree une fenetre.
    m_window.create(sf::VideoMode(400,350),"My Window");

    // Chargement de la texture de présentation.
    m_texture.loadFromFile("image.png");

    // Incorporation de la texture dans le sprite.
    m_sprite.setTexture(m_texture);
}

sf::Sprite Window::getSprite()
{
    return m_sprite;
}

main :
int main(int argc, char *argv[])
{
    Window myWindow;

    while (myWindow.isOpen())
    {
        sf::Event event;

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

        myWindow.clear();
        myWindow.draw(myWindow.getSprite());
        myWindow.display();
    }

    return 0;
}

À la compilation il n'y a pas de problèmes, mais lors de l'exécution la fenêtre s'ouvre puis se ferme immédiatement. Est-ce que je m'y prend mal ?

Merci.

5
Système / [Abandon] Multi-thread pour gérer deux fenêtres
« le: Octobre 13, 2013, 03:56:11 pm »
Bonjour.
Je suis en train de réaliser un petit éditeur de cartes pour un jeu façon rpg. Il serait constitué de 3 fenêtres :
  • une gérée par Qt (contenant un menu pour sauvegarder, etc ... Je ne m'y attarde pas plus que ça)
  • une fenêtre contenant le tileset sur laquelle on peut sélectionner la tuile gérée par SFML
  • une fenêtre sur laquelle on vient poser les tuiles et constituer graphiquement la carte, aussi gérée par SFML
Actuellement j'ai des problèmes avec les deux dernières fenêtres, j'aimerais qu'elles soient gérées dans deux threads séparés de la manière suivante :

int main(int argc, char args[])
{
    sf::Thread threadWindowTileSet(&windowTileSet);
    sf::Thread threadWindowMap(&windowMap);

    threadWindowTileSet.launch();
    threadWindowMap.launch();

        return 0;
}
 

En lançant un thread uniquement cela fonctionne, mais pas avec deux en même temps.

De plus il est dit dans le tutoriel que l'on peut protéger les données partagées. Je souhaiterais que les deux theads travaillent sur un objet passé en argument du genre :

void windowTileSet(Map carte);

Est-ce possible et dois-je donc utiliser les mutex ?

Merci.

6
Graphique / setPosition de la classe sf::Sprite
« le: Septembre 11, 2013, 11:48:49 pm »
J'aimerais afficher une sprite au milieu de ma fenêtre, mais je rencontre quelques soucis. Je souhaite que cela se fasse automatiquement de la façon :
position x et y = taille fenêtre / 2 - taille sprite / 2

Seulement lorsque j'exécute les commandes comme suit pour une sprite de 32px par 32 px :
sprite.setTexture(texture);
std::cout << "sprite width = " << sprite.getScale().x << std::endl;
std::cout << "sprite heigth = " << sprite.getScale().y << std::endl;
J'obtiens :
sprite width = 1
sprite heigth = 1

7
Discussions générales / Configurer Eclipse pour la SFML sous Linux.
« le: Septembre 06, 2013, 10:25:15 am »
Bonjour.
Je souhaiterais utiliser la bibliothèque SFML sur mon ordinateur sous Linux en utilisant mon IDE Éclipse, seulement je rencontre quelques difficultés au niveau de l'installation. J'ai suivi le tutoriel officiel (et me suis aidé de deux autres tutoriels : tutoriel 1, tutoriel 2) pour ce qui est de l'installation à savoir :
  • J'ai téléchargé l'archive "SFML-2.1-linux-gcc-32bits.tar.bz2" que j'ai décompressé.
  • J'ai copié manuellement en lignes de commandes les dossier dans leurs emplacements respectifs (les includes dans /usr/include, les lib dans /usr/lib, et share dans /usr/share)
Puis dans l'IDE Éclipse j'y ai ajouté les liens suivants :
  • Les includes path : "/usr/include/SFML"
  • Les librairies : "/usr/lib/libsfml-system.so"
  • Les library search path : "/usr/lib"
Seulement lorsque je compile j'obtiens les erreurs suivantes :
**** Build of configuration Debug for project Cpp_SFML_test ****

make all
Building target: Cpp_SFML_test
Invoking: GCC C++ Linker
g++ -L/usr/lib -o"Cpp_SFML_test"  ./main.o   -l/usr/lib/libsfml-system.so
/usr/bin/ld: cannot find -l/usr/lib/libsfml-system.so
collect2: ld returned 1 exit status
make: *** [Cpp_SFML_test] Erreur 1
 
Pourtant j'ai vérifié le fichier existe bel et bien.

De plus j'ai remarqué qu'il n'y avait pas de fichier .dll dans l'archive, du coup comment une fois le programme compilé et l'exécutable généré je vais faire pour assurer le fonctionnement de mon futur programme ?

Je vous remercie tous d'avance.

Pages: [1]