Forum de la communauté SFML
Aide => Graphique => Discussion démarrée par: windjim le Août 19, 2013, 10:09:44 am
-
Bonjour,
J'ai besoin de créer une roue (genre roue de la fortune) en vue de dessus, mais j'ai aucune idée comment tester sur quel case de la roue elle s'arrête.
- Dois-je faire un sprite par palme de la roue et tester la collision de la palme en question
- Ou tester en fonction d'une couleur de chaque plame.
Ou existe-il autre chose qui pourrait me convenir ?
-
Le plus simple est de tester l'angle que la balle fait avec le centre de la roue. Ensuite chaque case correspond à une fourchette d'angles.
-
Ce n'est pas une balle, en fait j'ai un curseur en haut de la roue, et quand la roue s'arrête j'ai besoin de savoir quelle palme se trouve sous le curseur
-
Ca ne change pas grand chose, dans ce cas c'est la rotation de la roue qui est a comparer avec les angles des cases.
-
Donc si je comprend bien il faut bien que je crée chaque palme de la roue ?
-
Si j'ai bien compris ce que tu veux faire, le plus simple est de créer une classe "Roue" qui hérite de sf::Sprite et pour savoir sur quelle case elle est, tu utilises la méthodes getRotation().
Si par exemple ta roue a 10 cases, et que la méthode te renvoie 75 degrés, alors tu est sur la 75/(360/10)
soit 2ème case, en partant de la case 0.
-
Oui c'est ça, merci pour vos réponse je vais faire tout ça.