J'ai un peu de mal à essayer de tracer une ligne sur AS3.Position exacte de l'élément actionscript3
Le dessin est une partie facile, mais la partie difficile est de savoir comment obtenir la position du composant.
J'essaie de définir une hiérarchie, si les fils sont connectés au père par des lignes. J'ai la structure et les composants sur l'écran mais quand j'essaie de tracer une ligne entre les noeuds je ne peux pas trouver la position des fils.
public function drawLines():void{
for(var i:int=1; i<= _maxLevel ; i++){
var vGroup:*=treeLevel.getElementAt(i);
for(var j:int = 1; j<vGroup.numChildren ;j++){
var element:* = vGroup.getElementAt(j);
trace(element.fatherJoin);//a checkbox for the union
trace(element.sonJoin);//another checkbox for the union
var coord:* = buscarCoord(element.father,i-1);//with this function I get the father checkbox
coord.graphics.lineStyle(3, 0xFF0000, 1);
//onwards is the fail code, I can't get the correct x and y to draw.
var pt:Point = new Point(element.fatherJoin.x,element.fatherJoin.y);
pt = this.localToGlobal(pt);
coord.graphics.lineTo(pt.x,pt.y);
}
}
}
L'élément est situé sur la VGroup via addElement et partout où je regarde x = 0 et y = 0.
Tout le monde sait comment obtenir les bonnes coordonnées. de cet élément?
Merci.
J'ai déjà pensé à cela, mais localToGlobal, obtient toujours la même valeur (607,87) et lorsqu'il est traduit en global il obtient (0,0). Oui les deux élément et coord sont des enfants d'enfants d'enfants .. (Je pense que c'est pourquoi je ne peux pas obtenir la bonne position). attaché à la scène. Thnx pour votre réponse. – Jaime
@Jaime J'ai mis à jour mon message. Le fait que vous obtenez (0,0) dans le processus signifie probablement que votre code s'exécute ** avant ** les composants sont initialisés, correctement placés et ainsi de suite. Flex prend comme quelques images du début de l'application avant que tout soit créé et placé correctement. – Organis