2010-04-01 27 views
2

以下是我目前使用的代码。现在我只想让它画一个正方形并显示出来。现在,当我点击MXML中定义的区域<components:PaintArea width="100%" height="100%" id="paint-a"></PaintArea>时,它什么都不显示;然而,actionlistener正在被触发并且一个元素被添加到组中。不确定究竟发生了什么......也许由于某种原因,它不认为该元素是可绘制的?无论如何感谢您的帮助!尝试在Flex4/AS3中向自定义容器绘制矩形

public class PaintArea extends SkinnableContainer 
{ 
    private var canvas:Group; 

    public function PaintArea() 
    { 
     super(); 
     canvas = new Group(); 
     canvas.clipAndEnableScrolling = true; 
     canvas.percentHeight = 100; 
     canvas.percentWidth = 100; 
     canvas.addEventListener(MouseEvent.MOUSE_UP,drawRectangle); 
     this.addElement(canvas); 
    } 

    private function drawRectangle(e:MouseEvent):void{ 
     var r:Rect = new Rect(); 
     r.fill = new SolidColor(0x00ff00,.5); 
     canvas.addElement(r); 
    } 
} 

回答

4

你或许应该设置width和矩形rheight

+0

哇...是啊,咄!谢谢 :)! – Parris 2010-04-01 07:27:34