Попытка нарисовать прямоугольник в пользовательском контейнере в Flex4 / AS3 - PullRequest
2 голосов
/ 01 апреля 2010

Ниже приведен код, который у меня есть. Сейчас я просто хочу, чтобы он нарисовал квадрат и показал его. Прямо сейчас, когда я щелкаю область, определенную в MXML как <components:PaintArea width="100%" height="100%" id="paint-a"></PaintArea>, она ничего не показывает; однако, actionlistener запускается, и элемент добавляется в группу. Не уверен, что именно происходит ... возможно, по какой-то причине он не считает, что элемент можно нарисовать? В любом случае спасибо за помощь!

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);
    }
}

Ответы [ 2 ]

4 голосов
/ 01 апреля 2010

Вам, вероятно, следует установить width и height прямоугольника r.

0 голосов
/ 24 декабря 2012

Вы также можете использовать BorderContainer (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/BorderContainer.html) - это SkinnableContainer с настраиваемой рамкой и заливка

...