Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Slash94 le Octobre 22, 2017, 02:26:48 pm

Titre: Comment réaliser une rotation cohérente de plusieurs sprites ?
Posté par: Slash94 le Octobre 22, 2017, 02:26:48 pm
Salut à tous,

J'aimerais savoir quelle théorie / méthode / algorithme me permettrait de créer un système de rotation de plusieurs sprites comme si ils étaient solidaires les uns des autres ?

Comme cet exemple :

https://www.youtube.com/watch?v=zDdAC0ZnVy8

(On s'en fiche du zoom, je parle de la rotation là ).

Car bien évidemment, si je modifie l'angle de chaque sprite dans une boucle, ils tourneront tous depuis leur centre ( leur origin quoi ), ce qui est logique, mais j'aimerais qu'ils tournent tous ensemble telle que sur la vidéo du dessus, une idée de la manière dont je pourrais réaliser ceci ? Merci :-)
Titre: Re: Comment réaliser une rotation cohérente de plusieurs sprites ?
Posté par: Laurent le Octobre 22, 2017, 02:29:30 pm
Tu as plusieurs façons de faire :

1. Tu leur donne tous la même origine (en coordonnées globales, donc différente pour chaque sprite en coordonnées locales).

2. Tu les dessines comme "enfants" d'une classe dérivée de sf::Drawable, et c'est celle-ci que tu tournes (il faut bien entendu "hériter" de la transformation du parent pour dessiner les enfants, comme montré dans le tutoriel sur les transformations).

3. Tu dessines tout sur un sf::RenderTexture et tu te retrouves avec un unique sprite qui contient tout ton bazar.
Titre: Re: Comment réaliser une rotation cohérente de plusieurs sprites ?
Posté par: Slash94 le Octobre 23, 2017, 03:37:03 pm
Salut Laurent, merci à toi, c'est sympa de m'avoir répondu  ;)
J'ai réussi grâce au sf::RenderTexture ! :-D