如何使用图形对象在Border Container中绘制一个圆?

时间:2011-04-05 12:57:50

标签: flex graphics flex4 draw border-container

我的基本要求是在BorderContainer内画一个圆圈,布局设置为BasicLayout

我在BorderContainer对象的CREATION_COMPLETE事件中运行此方法。

   this.graphics.beginFill(0xff0000);
   this.graphics.lineStyle(1, 0x00ff00);
   this.graphics.drawCircle(0, 0, 50);
   this.graphics.endFill();

抱歉直言不讳,但为什么我什么都看不到?我知道我必须遗漏一些非常基本的东西。我可以这样绘制,还是应该在其他事件中绘制?

P.S:我知道我可以创建一个Ellipse对象并轻松将其添加到边框容器中,但我想知道如何使用图形对象来完成此操作。

3 个答案:

答案 0 :(得分:2)

我看到两个可能的问题。

  1. 你忘了添加BorderContainer 反对舞台
  2. 不是您的参考 BorderContainer对象。试着追踪 在您的活动列表中,或 将其更改为target或currenTarget

答案 1 :(得分:2)

回到过去,您将覆盖updateDisplayList并在那里进行此类绘制。我猜测在创建完成后某些时候事情会得到更新。由于您正在绘制而不是向舞台添加对象,因此您的圆圈实际上并不属于任何类型的生命周期,并且每当显示列表被弄脏/重绘时都会被擦除。希望有所帮助。

答案 2 :(得分:0)

var _shape:Shape=new Shape();
addchild(_shape);

_shape.graphics.lineStyle(1, 0x000000, 1);
_shape.graphics.drawRect(10,5,100,100);

使用上面的代码会在屏幕上显示一个矩形。