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 - nours59

Pages: [1]
1
Général / [Résolu] nouvelle installation de SFML
« le: Mai 08, 2013, 05:06:38 pm »
Bonjour ^^

Je viens de voir la dernière version de SFML, et j'avoue que je galère un peu à l'installer...

J'ai réinstallé code::blocks 12.11 spécialement pour l'occasion ayant d'abord constaté que je n'avais pas la bonne version de minGW.
Je suis donc maintenant avec une version 4.7.1 de minGW, et comme conseillé dans le tuto, j'ai pris la version sjlj, mais cela ne fonctionne pas, j'ai toujours une tartine d'erreurs de linkage...

J'ai pourtant bien le fichier libgcc_s_sjlj-1.dll dans le répertoire minGW/bin; d'ailleurs j'ai aussi le fichier libgcc_s_dw2-1.dll qui m'a fait prendre la version minGW32, mais cela ne fonctionne pas non plus.

Je vous fais donc part de toutes les infos dont je dispose, et vous demande humblement votre aide  :P
Version de Windows: Windows 7 familial premium, SP1 (version 6.1)
Version de Code::Blocks : 12.11 rev 8629
Version de minGW : 7.4.1, dont voici la config (via gcc -v):
c:\Program Files (x86)\CodeBlocks\MinGW\bin>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=c:/program files (x86)/codeblocks/mingw/bin/../libexec/gcc/m
ingw32/4.7.1/lto-wrapper.exe
Target: mingw32
Configured with: ../../src/gcc-4.7.1/configure --build=mingw32 --enable-language
s=c,c++,ada,fortran,objc,obj-c++ --enable-threads=win32 --enable-libgomp --enabl
e-lto --enable-fully-dynamic-string --enable-libstdcxx-debug --enable-version-sp
ecific-runtime-libs --with-gnu-ld --disable-nls --disable-win32-registry --disab
le-symvers --disable-build-poststage1-with-cxx --disable-werror --prefix=/mingw3
2tdm --with-local-prefix=/mingw32tdm --enable-cxx-flags='-fno-function-sections
-fno-data-sections' --with-pkgversion=tdm-1 --enable-sjlj-exceptions --with-bugu
rl=http://tdm-gcc.tdragon.net/bugs
Thread model: win32
gcc version 4.7.1 (tdm-1)
Merci d'avance à vous  ;D

2
Fenêtrage / [Résolu][SFML2] Absence de détection des touches du clavier
« le: Novembre 18, 2012, 10:45:36 pm »
Bonjour/Bonsoir,

Je me permets de poster un problème assez étrange qui se passe chez moi...

Je vous montre un code minimal qui a le même effet que sur mon projet:
#include <cstdlib>
#include <iostream>
#include <SFML/Graphics.hpp>

int main(int argc, char* argv[])
{
    sf::RenderWindow window(sf::VideoMode(300, 200), "SFML works!");


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

        int keyCode = 0;

        if(window.pollEvent(event))
        {
            switch(event.type)
            {
                case sf::Event::Closed:
                    window.close();
                    break;
                case sf::Event::KeyPressed:
                    switch(event.key.code)
                    {
                        case sf::Keyboard::A:
                        case sf::Keyboard::Left:
                        case sf::Keyboard::Right:
                        case sf::Keyboard::Up:
                        case sf::Keyboard::Down:
                            keyCode = event.key.code;
                            break;
                        default:
                            break;
                    }
                    break;
                /*case sf::Event::KeyReleased:
                    if(event.key.code == sf::Keyboard::A)
                        keyCode = event.key.code;
                    break;*/

                default:
                    break;
            }
        }
        if(keyCode)
            std::cout << keyCode << std::endl;

        window.clear();
        window.display();
    }
    return EXIT_SUCCESS;
}
 

Voila, mon souci est que si j'appuie sur une touche de direction je la vois bien détectée, le code de la touche s'affiche; par contre si j'appuie sur ma touche 'A' je n'ai pas de code en retour  :o

Si vous aviez une petite explication à me fournir j'en serais grandement ravi!

Merci d'avance  ;)

3
Graphique / [Résolu][SFML 2] sf::View : affichage décalé
« le: Octobre 10, 2012, 08:24:41 pm »
Bonjour,

Un nouveau problème avec les sf::View pour moi  :'(

j'avais jusqu'à présent déclaré le sf::View dans le Main, là où je déclarais également le RenderWindow et ma classe Layer qui contient ma carte à afficher.

J'ai décidé de passer par une classe Scene qui va s'occuper de charger ma carte, mon personnage et déplacer le tout à l'écran. Mais le problème suivant se pose:
Dès que j'applique ma sf::View au RenderWindow, j'ai un décalage de la carte, le haut gauche de celle-ci se retrouve exactement au centre de l'écran.
Si je retire l'application de la vue la carte s'affiche de nouveau correctement en haut à gauche de mon écran, le pb viendrait donc à priori de la vue mais je ne vois vraiment pas ce qui cloche...

Je vous mets un code minimal, qui reproduit le problème:

Scene.hpp:
#ifndef DEF_Scene
#define DEF_Scene

#include <SFML/Graphics.hpp>

namespace GE
{
    class Scene
    {
        public:
            Scene();
        //affichage complet de la scene
            void draw(sf::RenderWindow& screen);

        //gestion du mouvementdu personnage et de la map
            void move(int positionX, int positionY);

        private:
            sf::View m_camera;
            sf::Texture m_texture;

    };
}

#endif // DEF_Scene
 

Scene.cpp:
#include "Scene.hpp"

namespace GE
{
    Scene::Scene()
    {
        m_camera.reset(sf::FloatRect(0, 0, 800, 600));
        m_camera.setCenter(0, 0);

        m_texture.loadFromFile("persoTest.png");
    }


   void Scene::move(int positionX, int positionY)
    {
        m_camera.move(positionX, positionY);
    }

    void Scene::draw(sf::RenderWindow& screen)
    {
        sf::Sprite mySprite(m_texture);

        screen.draw(mySprite);
        screen.setView(m_camera);
    }
}
 

Main.cpp :
#include "Scene.hpp"
#include <cstdlib>

int main(int argc, char* argv[])
{
    sf::RenderWindow app(sf::VideoMode(800, 600, 32), "test");

    GE::Scene myScene;

    int posX = 0, posY = 0;

    while(app.isOpen())
    {
        sf::Event m_event;
        while(app.pollEvent(m_event))
        {
        //fermeture du programme
            if(m_event.type == sf::Event::Closed) app.close();
        //events du clavier
            if(m_event.type == sf::Event::KeyPressed)
            {
                posX = posY = 0;
                switch(m_event.key.code)
                {
                //touches directionnelles
                    case sf::Keyboard::Left:
                            posX --;
                        break;
                    case sf::Keyboard::Right:
                            posX ++;
                        break;
                    case sf::Keyboard::Up:
                        posY --;
                        break;
                    case sf::Keyboard::Down:
                        posY ++;
                        break;
                    default:
                        break;
                }
                myScene.move(posX, posY);
            }

            app.clear();
            myScene.draw(app);

            app.display();
        }
    }
    return EXIT_SUCCESS;
}
 

Voici l'image que j'utilise pour mes tests (faite à la main avec amour  ;D ):


Je pensais que le pb venait au départ du RenderTexture que j'utilise (je suis malheureusement victime de la malédiction des amd  ;D ) mais tout fonctionne correctement dès que je mets en commentaires le setView de la dernière méthode, ou que je gère la caméra directement dans le Main

Merci d'avance à qui pourra m'aider  ;)

4
Graphique / [Résolu][SFML 2.0] utilisation de sf::View
« le: Octobre 05, 2012, 11:47:55 pm »
Bonjour,

Je me permets de poster un nouveau sujet car je n'ai pas trouvé de réponses à mes interrogations...

En fait je suis en ce moment occupé de travailler sur le déplacement de ma caméra, et j'utilise donc les sf::View.
Je réussis à la déplacer, seulement je bloque au moment de gérer les collisions  >:(

Avec SFML 1.6, il était facile de récupérer la position de la vue avec GetRect(), mais je n'arrive pas à trouver l'équivalent en SFML 2.0.

En gros ma question est: comment récupérer la position de la vue?

Merci d'avance  ;)

5
Graphique / [Résolu][SFML2] bug avec RenderTexture?
« le: Juin 02, 2012, 03:25:46 pm »
Bonjour  :)

Je me permets de créer un post car je n'ai pas réussi à trouver un sujet en rapport avec mon erreur...

En fait le souci que je rencontre se présente dès que j'utilise un RenderTexture pour afficher à l'écran. Je vous montre le code que j'ai réalisé pour tester:
#include <SFML/Graphics.hpp>
#include <string>
#include <iostream>

int main(int argc, char* argv[])
{
    sf::RenderWindow app(sf::VideoMode(800, 600, 32), "test");

    sf::Texture texture;
    texture.loadFromFile("tileTest2.png");
    sf::Sprite sprite;
    sprite.setTexture(texture);

    sf::RenderTexture rendertxt;
    rendertxt.create(160, 80);

    while(app.isOpen())
    {
        rendertxt.clear();
        rendertxt.draw(sprite);
        rendertxt.display();

        sf::Event m_event;
        while(app.pollEvent(m_event))
            if(m_event.type == sf::Event::Closed) app.close();

        app.clear();

        sf::Sprite sprite2;
        sprite2.setTexture(rendertxt.getTexture());

        app.draw(sprite2);

        app.display();
    }
    return EXIT_SUCCESS;
}
 

Avec ce code, j'obtiens une image complètement décalée:



J'ai testé l'affichage du tout premier Sprite sans passer par le RenderTexture, et j'obtiens mon image complète qui est composée de 8 tiles, en position [0,0] comme cela doit se produire normalement...

J'ai déjà tenté les setPosition, setTextureRect, etc etc, car au départ je pensais que j'avais mal fait quelque chose, mais cela ne change visiblement pas grand chose...

Pour informations, je travaille avec la RC de SFML2, et je dispose d'une carte ATI Radeon HD 6490, qui travaille avec openGL version 9 je crois (je ne sais plus où retrouver l'info  :P ).

J'ai remarqué que les cartes ATI posaient pas mal de problèmes sur le bug tracker, serait-ce la cause?
Sinon, quelqu'un aurait-il une idée d'où ce problème viendrait?

Merci d'avance.

Pages: [1]