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

Pages: [1]
1
Graphique / Re: Incohérences origines et rotations
« le: Juin 29, 2017, 11:06:13 pm »
Très bien, bah je vais apprendre avec la pratique alors! Juste, pour comprendre un peu, quand je définis l'origine d'un sf::Transformable, cela se fait par rapport à l'origine de défaut, le coin haut gauche ? En fait, je ne suis pas sûr de saisir ce que représente réellement l'origine, si je fais
shape.setOrigin(10,20);
Est-ce que c'est équivalent à simplement "bouger" l'origine de défaut en position (10,20) par rapport à l'origine de défaut ? Merci encore une fois et désolé pour les questions de débutants..

2
Graphique / Incohérences origines et rotations
« le: Juin 28, 2017, 01:26:26 am »
Bonjour, bonsoir, tout d'abord merci de prêter attention à mon problème dont je n'ai aucune idée du pourquoi du comment, je suis vraiment perdu. Je voudrais préciser d'abord que j'utilise la version 2.3.2 de la SFML, par soucis de compatibilité avec mon Code::Blocks.

Alors, pour commencer l'origine. J'essayais de la prendre en main, et en essayant simplement de définir l'origine d'un CircleShape à (700,700) et sa position en (0,0), celui-ci ne devrait-il pas se trouver approximativement au milieu de l'écran, ou du moins à l'écran ? Puisque avec moi, il se trouve non pas à cet endroit mais en (-700,-700) sur le repaire SFML (axe y inversé), il est donc en haut a gauche, je peux le localiser grâce à une sf::View. Donc pour placer l'origine en (700,700) sur le repaire SFML, je dois mettre (-700,-700) d'origine et position (0,0) (ou setPosition(700,700) avec l'origine par défaut, ce qui est normal), et là ça marche, je suppose que ce n'est pas normal...

Cela était mon premier problème, le suivant, est à propos de la rotation par rapport à une origine prédéfini. Je vous mets de suite le code, pour une compréhension rapide


    sf::CircleShape m_shape;
    m_shape.setOrigin(-750,-400); // Valeurs négatives, à cause du premier problème ^^'
    m_shape.setPosition(50,50); // Je l'éloigne un peu de son origine
    m_shape.setPointCount(100);
    m_shape.setFillColor(sf::Color(128,128,128));
    m_shape.setRadius(24);



    while (window.isOpen())
    {
        deltaTime = clock.restart().asSeconds();
        window.clear(sf::Color::Black);
        m_shape.rotate(5.0f * 20.0f * deltaTime); // Simple rotation (speed * velocity * deltaTime)
        window.draw(m_shape);
        window.display();
    }

Chez moi, ce code amène à un CircleShape qui effectue une rotation autour de l'origine de défaut en (0,0), coin haut gauche. Est-ce normal ? Vous obtenez pareil et donc je n'ai pas bien compris quelque chose et mon code doit être changé ? Ou alors vous obtenez quelque chose de différent, et c'est un problème de version SFML... Voilà voilà, merci beaucoup, une réponse serait vraiment appréciée, si vous en avez le temps, merci!

Pages: [1]