2010-09-21 8 views
0

J'utilise flex sdk et j'essaie de dessiner des figures de géométrie primitive, qu'est-ce qui ne va pas dans le code suivant? J'ai essayé sans la gâchette du bouton, mais cela n'a pas fonctionné.dessiner un cercle en flex

<mx:Script> 
    import flash.display.Sprite; 
    import flash.display.Shape; 

    private function draw_circle():void 
    { 
     var myCircle:Shape = new Shape(); 
     myCircle.graphics.beginFill(0x00000, 1); 
     myCircle.graphics.drawCircle(0, 0, 30); 


     addChild(myCircle); 
    } 


</mx:Script> 

    <mx:Button x="30" y="0" name="circle" click= '{draw_circle()}'> 



</mx:Button> 

+1

Quel est le problème avec le code? Ça ne marche pas. (Dites-nous ce que vous entendez par "ne fonctionne pas", et nous serons plus en mesure de vous dire comment le réparer.) – LarsH

+0

lorsque j'appelle la méthode drawcirle() à partir du bouton, le cercle n'a pas été rendu. J'ai donc essayé avec creationComplete(), il a également échoué. –

+0

Quand j'ai essayé le même code ActionScript sous Fichier-> nouveau projet ActionScript, ça marche bien !! Comment puis-je le faire fonctionner dans un projet flexible? –

Répondre

2

Vous devez endFill après avoir beginFill:

private function draw_circle():void 
{ 
    var myCircle:Shape = new Shape(); 
    myCircle.graphics.beginFill(0x00000, 1); 
    myCircle.graphics.drawCircle(0, 0, 30); 
    myCircle.graphics.endFill(); 
    addChild(myCircle); 
} 

appropriés pourraient être Documentations trouvé here.

Le remplissage n'est pas rendu avant l'appel de la méthode endFill().

0
 
private function draw_circle(event:Event):void 
{ 
    var myCircle:Shape = new Shape(); 
    myCircle.graphics.beginFill(0x00000, 1); 
    myCircle.graphics.drawCircle(0, 0, 30); 
    myCircle.graphics.endFill(); 


    addChild(myCircle); 
} 

aussi ...

<mx:Button x="30" y="0" name="circle" click= 'draw_circle(event);'> 

Si vous ne spécifiez pas endFill(), vous êtes susceptible de rencontrer d'importants problèmes de mémoire, mais le cercle doit être encore attiré bien

+0

Ce n'est pas ce que disent les docs. Pas d'appel 'endFill' - pas de remplissage. – LiraNuna

+0

mon erreur, je pensais que ça rendrait (de même que lineStyle) mais créer une fuite de mémoire ... au fait, je n'ai pas omis intentionnellement endCircle dans mon exemple, je ne voudrais certainement pas suggérer que ce n'est pas nécessaire! – PatrickS

Questions connexes