如何使用图形对象在边界容器内画一个圆



我的基本要求是在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:我知道我可以创建一个椭圆对象,并轻松地将其添加到边框容器中,但我想知道如何使用图形对象来做到这一点。

在过去,你会重写updateDisplayList并在那里做这种绘制。我猜事情在创建完成后的某个点得到刷新。因为你是在绘图而不是在舞台上添加对象,所以你的圆圈并不是任何生命周期的一部分,只要显示列表被弄脏/重新绘制,它就会被清除干净。

我看到两个可能的问题。

  1. 你忘记添加BorderContainer对象到阶段
  2. 这个不是你的参考BorderContainer对象。试着追踪这个在您的事件侦听器中,或者将其更改为target或currenTarget
var _shape:Shape=new Shape();
addchild(_shape);
_shape.graphics.lineStyle(1, 0x000000, 1);
_shape.graphics.drawRect(10,5,100,100);
使用上面的代码将在屏幕上显示一个矩形

最新更新