Forum de la communauté SFML
Aide => Général => Discussion démarrée par: Cmdu76 le Février 18, 2013, 10:43:13 pm
-
Bonjour,
j'aimerais créer des boutons en forme de losange (enfin des carrés inclinés plus exactement, mais les gens s'imagineront mieux ainsi la forme de mon bouton)
Ducoup faudrait que je tourne avec Rotate mon IntRect, ce qui je crois n'est pas possible... Comment faire alors ? Si quelqu'un a une idée ou même une solution, je suis preneur :)
-
Tu parles de quoi ? Du visuel ou bien de la gestion du clic ? "Rotate mon IntRect", c'est pas très explicite ;)
-
Oui j'aurais dû préciser, je parle de la gestion du clic
-
Donc en gros tu veux tester un point vs un rectangle tourné ? Tel quel, ce n'est pas un test trivial (mais tout de même abordable). Heureusement, tu peux le rendre très simple : un point peut être transformé de n'importe quelle manière, ça reste toujours un point. Donc tu peux te débrouiller pour ramener tout ce petit monde dans un repère où le rectangle sera aligné sur les axes ; et là le test sera immédiat.
En décodé : fais subir à ton rectangle et à ton point la même rotation (avec même centre), ie. celle qui a un angle inverse de celui de ton rectangle, et qui permet donc de le remettre droit. Ensuite tu n'as plus qu'à comparer le point aux min/max du rectangle en X et Y. Ou alors utiliser directement la fonction sf::FloatRect::contains.