J'ai un élément mx: Canvas qui contient plusieurs éléments mx: Panel. Je veux être capable de tracer une ligne reliant deux tels mx: Panel de telle sorte que la ligne continue de connecter les deux mx: Panneaux lorsque l'un ou les deux sont traînés. Il semble que quelque chose qui devrait être trivial à faire, mais je n'ai pas été en mesure de le comprendre.Connexion de lignes (en faisant glisser) dans Flex/Actionscript
En effet, c'est le problème.
alt text http://img150.imageshack.us/img150/5656/ishot1eu3.jpg
Depuis les mises à jour se produisent que lorsque le panneau atteint sa position finale, dès que vous commencez à faire glisser le panneau « B », il vous reste une ligne ballants:
alt text http://img212.imageshack.us/img212/4296/ishot2qi6.jpg
Une solution possible, comme suggéré ci-dessous, consiste à remplacer la méthode updateDisplayList() du composant mx: Canvas. Malheureusement, cela ne fait que mettre à jour le dessin après le glisser, et non en mouvement. L'écoute des événements "xChanged" et "yChanged" dans le Panel produit les mêmes résultats que le remplacement de updateDisplayList().
La solution finale, comme indiqué ci-dessous, nécessite l'envoi des événements de déplacement du panneau mobile au canevas sur lequel il se déplace. Cela force les lignes à se redessiner tout au long de la motion.
Merci pour toute l'aide!
Humm ... Cela semble fonctionner de manière similaire à la solution précédente. Il ne se met à jour que lorsque je "laisse tomber" le panneau et non pendant qu'il bouge. – bgoncalves
(Vous pouvez le tester en ajoutant une trace à la fonction coordsChangedHandler()) – bgoncalves
Ok, merci pour l'info - J'ai changé la suggestion pour quelque chose qui a réellement fonctionné pour moi. – hasseg