JeuWeb - Crée ton jeu par navigateur
Quel module ou language pour interface animée html - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Quel module ou language pour interface animée html (/showthread.php?tid=6438)

Pages : 1 2 3


RE: Quel module ou language pour interface animée html - Xenos - 13-05-2013

Cela dépend de ce que "modifier un sprite" veut dire.
SVG permet de faire des transformations linéaires (échelle, rotation, position), mais il ne permet pas (je crois!) de faire des transformations non-linéaires (par exemple, "l'étirement" que subirait un astronaute à l'approche d'un trou noir, ou la transformation d'une ligne en un cercle).
Pour de telles transformations, le SVG sera forcément accompagné d'un javascript, mais là encore, j'ai des doutes sur la faisabilité de toutes les animations.
En revanche, la propriété filter, couplée aux définitions SVG-filter (plus détaillées par le W3C à condition de comprendre un peu les mathématiques et les matrices) permet d'appliquer des effets intéressants sur les images (sprites). Par exemple, pour changer la couleur d'équipe du robot (feColorMatrix).
Mais si tu comptes faire l'animation d'un personnage qui court, par exemple, ce sera mission "quasi" impossible (pas impossible car c'est faisable, mais ce sera tellement ch**t que ce ne sera pas rentable).
Pour les robots, tu as un avantage assez colossal face aux MMO "humains": les robots sont souvent des pièces mécaniques articulées les unes aux autres. Et un tel système se dessine très bien en SVG! Il "suffit" de dessiner un morceau statique de robot (aka un morceau qui n'aurait pas d'articulation, par exemple une poutrelle qui représente un bras ou un ensemble de poutrelles qui représentent un "mollet"), puis d'appliquer les rotations/translations à ce morceau, pour simuler l'articulation et l'animation du robot.