|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : octobre 2006 Messages : 45 ![]() |
Bonjour,
J'ai une carte d'un département divisée en cantons. Ce que je souhaiterais faire c'est afficher une couleur spécifique aux cantons en fonction de données contenues dans un fichier XML mis à jour dynamiquement selon un certain laps de temps. Par exemple si tel canton a telle valeur dans mon xml, sa représentation graphique sur la carte sera bleue. Si tel autre canton a telle autre valeur, sa couleur sera rouge. Si un peu plus tard sa valeur change, sa couleur passera au vert etc... Tout ça de manière dynamique. Quelle serait d'après vous la meilleure manière de faire ? Merci. |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : avril 2007 Messages : 126 ![]() |
Il y a une discussion là dessus à propos d'une carte de france et des départements:
http://www.developpez.net/forums/sho...d.php?t=400454 En gros: Normalement, la solution traditionnelle, c'est qu'il te faut reproduire la carte en vectoriel. Tu construit un clip par canton. Mais tu peux pas les dessiner dans Flex. Tu peux le faire dans Flash par exemple, en exportant le SWF, ou en utilisant un fichier SVG. Sinon, il y a une autre solution à partir d'une image Bitmap, mais c'est plus tordu. Evidemment, tu nommes tes clips de canton avec leur nom réel, ou une chaîne avec un prefixe du type mc_monNomDeCanton. Ce sera plus facile pour faire la relation entre le XML et ton affichage. Tu programmes une méthode qui change la couleur d'un clip en fonction d'une valeur. Genre setColor(clip:MovieClip, color:uint). Pour ça, regarde la doc de ColorMatrixFilter par exemple (il y a d'autres solutions). Ensuite, il te faut charger le XML. Regarde la doc XML de AS3 et la doc de URLLoader. Enfin tu parses ton XML et attribues les valeurs par le biais de ta méthode setColor(). Pour info: Tu peux retrouver un clip dans l'affichage par son nom avec la méthode getChildByName() Voilà dans les grandes lignes |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com