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.


Messages - chapa

Pages: [1]
1
De rien :)
Par contre je suis sur Lion je croyais l'avoir précisé mais en fait non dsl ^^

2
Salut, alors j'ai eu quelques problèmes pour mettre à jour depuis git mais c'est bon ils sont résolus : avec Xcode 4.5 il faut bien penser à désactiver le C++11 dans les options de compilations sinon il y a des erreurs de linkage ;)
Enfin bref, ça n'a rien changer ça fait toujours la même chose, donc pour en revenir au bug, voilà le code minimal :
#include <iostream>
#include <SFML/Graphics.hpp>

using namespace std;
using namespace sf;

int main(int argc, char *argv[])
{
    RenderWindow window(VideoMode(200, 200), "SFML works!");
   
    while(window.isOpen())
    {
        Event event;
        while(window.pollEvent(event))
        {
            switch(event.type)
            {
                case Event::Closed:
                    window.close();
                    break;
                case Event::KeyReleased:
                    switch(event.key.code)
                    {
                        case Keyboard::Escape:
                            window.close();
                            break;
                        default:
                            break;
                    }
                    break;
                default:
                    break;
                case Event::MouseMoved:
                    int current_x = Mouse::getPosition(window).x, current_y = Mouse::getPosition(window).y;
                    int elapsed_x = 100 - current_x, elapsed_y = 100 - current_y;
                   
                    if(elapsed_x != 0 || elapsed_y != 0)
                    {
                        cout << elapsed_x << "-" << elapsed_y << endl;
                        Mouse::setPosition(Vector2i(100, 100), window);
                    }
                    break;
            }
        }
       
        window.clear();
       
        window.display();
    }
   
    return 0;
}
Ce qu'il devrait se passer : un nombre de lignes assez important devraient s'écrire dans la console au bout de 1 secondes (par exemple)
Ce qu'il se passe : à peu près quatre lignes par secondes s'écrivent dans la console

J'espère que tu pourras trouver une solutions :)

3
Fenêtrage / Re : [SFML 2.0]Mouvement relatif de la souris
« le: Septembre 24, 2012, 06:22:44 pm »
Salut,
Merci pour vos réponses (que je vois un peu tardivement), mais après en avoir également discuté ici, j'en ai conclu que c'était du à l'implémentation de la SFML dans MacOS (oui j'avais pas précisé je n'en voyais pas l'intérêt ^^)
En effet en testant un même code sur mac et windows, ça marche parfaitement sur windows mais ça pose un problème de "débit" de cout sur mac c'est assez étrange...

Donc je marque quand même le sujet comme résolu, bien qu'il ne le soit pas vraiment
A+

4
Fenêtrage / [Résolu (ou pas)][SFML 2.0]Mouvement relatif de la souris
« le: Septembre 05, 2012, 05:02:57 pm »
Bonjour à tous,
Alors voilà je voudrais faire une caméra freefly avec opengl et pour cela j'aurais besoin d'obtenir le mouvement relatif de la souris entre deux tours de la boucle principale. Ce qu'il m'aurait fallu c'est une méthode pour obtenir directement ces valeurs (comme on peut les avoir avec la SDL avec SDL_MouseMotionEvent::xrel et SDL_MouseMotionEvent::yrel)
Mais bon je n'ai pas trouvé donc essayé un truc du genre :

(...)
case Event::MouseMoved:
        int current_x = Mouse::getPosition(m_win).x, current_y = Mouse::getPosition(m_win).y;
        int elapsed_x = current_x - last_x, elapsed_y = current_y - last_y;
        last_x = current_x; last_y = current_y;
        if(elapsed_x != 0 || elapsed_y != 0)
        {
                cout << elapsed_x << "-" << elapsed_y << endl;
        }
        break;
(...)

Ça marche super bien, sauf qu'il y a un problème : lorsque la souris sort de la fenêtre ça ne marche plus (et c'est normal), du coup j'ai modifié et rajouté une ligne :

(...)
case Event::MouseMoved:
        int current_x = Mouse::getPosition(m_win).x, current_y = Mouse::getPosition(m_win).y;
        int elapsed_x = current_x - last_x, elapsed_y = current_y - last_y;
        last_x = current_x; last_y = current_y;
        if(elapsed_x != 0 || elapsed_y != 0)
        {
                cout << elapsed_x << "-" << elapsed_y << endl;
                Mouse::setPosition(Vector2i(320, 200), m_win); // <-- Ici la ligne rajoutée
        }
        break;
(...)

Et là ça ne marche pas ... enfin si mais pas vraiment ^^
Avec le code précédent (sans le setPosition), j'avais un bon "débit" de cout dans ma console (peut être 50 par secondes environ). Mais maintenant avec le setPosition je dois en avoir à peu près 4 par secondes du coup ça m'embête un peu, vous n'auriez pas une idée ?

Merci d'avance pour vos réponse :)

EDIT: Merde je viens de me rendre compte que je me suis trompé de forum dsl xD, si un admin pouvait déplacer ce topic dans le forum Fenêtrage je lui en serait reconnaissant, merci ^^

Pages: [1]