Coordonnées d'un objet Shape passant à 0 après création
Bonjour,
J'essaie de créer en un système de création/édition de graphismes en Flex, mais j'ai un problème dont je ne comprends pas la cause au niveau de l'édition.
Voici le code de la fonction de création :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| public function CreateEllipse():void
{
var conteneur:UIComponent = new UIComponent();
conteneur.name = "ellipse"+ ellipseN;
ellipseN++;
var el:Shape = new Shape();
el.graphics.beginFill(rgb2hex(parseInt(EllipseR.text), parseInt(EllipseG.text), parseInt(EllipseB.text)), parseInt(EllipseA.text)/255);
el.graphics.drawEllipse(parseInt(EllipseL.text), parseInt(EllipseT.text), parseInt(EllipseW.text), parseInt(EllipseH.text));
conteneur.addChild(el);
ellipseLi.addItem(conteneur.name);
Display.addChild(conteneur);
} |
Le drawEllipse() a donc en paramètres les coordonnées d'origine du graphisme, et elles sont bien appliquées.
Code de la fonction récupérant les valeurs :
Code:
1 2 3 4 5 6 7 8 9 10
| private function SelectEllipse():void
{
var conteneur:UIComponent = Display.getChildByName(EllipseLi.selectedItem.toString()) as UIComponent;
var el:Shape = conteneur.getChildAt(0) as Shape;
EllipseL.text = el.x.toString();
EllipseT.text = el.y.toString();
EllipseW.text = el.width.toString();
EllipseH.text = el.height.toString();
} |
La largeur et la hauteur sont affichées correctement, en revanche le deux coordonnées sont à 0.
J'ai essayé en ajoutant
Code:
1 2
| el.x = 100;
el.y = 100; |
à la fonction, et ça déplace le graphisme d'autant, mais à partir de sa position initiale.
Ma question est donc de savoir comment récupérer ces valeurs telles qu'elles étaient lors de la création du graphisme, correspondant donc aux coordonnées à partir du conteneur et non du graphisme lui-même comme ça semble être le cas actuellement ?
Merci de votre aide.