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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.