En SVG évidemment c'est simple à gérer, un simple :hover… mais en canvas, j'ai deux éléments canvas :
un avec la carte, et un entièrement transparent au-dessus. À chaque évènement mousemove, je détermine sur quel hexagone est la souris (avec des maths que je comprends à moitié) et je dessine cet hexagone uniquement sur le canvas transparent, après avoir effacé l'éventuel hexagone qui y était déjà dessiné auparavant.
En fait, j'ai aussi un troisième canvas pour le texte, pour pouvoir mettre à jour la légende sans devoir redessiner la carte entièrement.
[^] # Re: rappelle moi comment on prononce ton nom
Posté par 못 옷 홋 ♨ (site web personnel) . En réponse au journal Dans lequel on revient sur les performances SVG des Firefox. Évalué à 1.
En SVG évidemment c'est simple à gérer, un simple :hover… mais en canvas, j'ai deux éléments canvas :
un avec la carte, et un entièrement transparent au-dessus. À chaque évènement mousemove, je détermine sur quel hexagone est la souris (avec des maths que je comprends à moitié) et je dessine cet hexagone uniquement sur le canvas transparent, après avoir effacé l'éventuel hexagone qui y était déjà dessiné auparavant.
En fait, j'ai aussi un troisième canvas pour le texte, pour pouvoir mettre à jour la légende sans devoir redessiner la carte entièrement.