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!