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 :
Le drawEllipse() a donc en paramètres les coordonnées d'origine du graphisme, et elles sont bien appliquées.
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); }
Code de la fonction récupérant les valeurs :
La largeur et la hauteur sont affichées correctement, en revanche le deux coordonnées sont à 0.
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(); }
J'ai essayé en ajoutant
à la fonction, et ça déplace le graphisme d'autant, mais à partir de sa position initiale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 el.x = 100; el.y = 100;
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.
Partager