2011-04-05 72 views
0

我的基本要求是绘制BorderContainer内圆设置为将BasicLayout如何使用图形对象在边框容器内绘制圆形?

我跑在CREATION_COMPLETE事件的对象使用BorderContainer这种方法的布局。

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

对不起,我为什么看不到任何东西?我知道我必须在这里错过一些非常基本的东西。我可以这样画吗?还是我应该画一些其他的事件?我知道我可以创建一个Ellipse对象,并很容易地将它添加到边界容器中,但是我想知道如何使用图形对象来完成此操作。

回答

2

早在古时,你会覆盖和的updateDisplayList做这种绘图那里。我猜测在创建完成后的某个时刻,事物会得到刷新。由于您正在绘制而不是将对象添加到舞台上,因此您的圈子不是任何生命周期的一部分,并且只要显示列表变脏或重绘,就会被擦干净。希望有所帮助。

+0

我遇到的问题是,我可以创建一个新的Ellipse对象,然后将其添加到BordnerContainer。它的工作原理,但它也使应用程序痛苦缓慢。 – 2011-04-08 04:40:55

+0

在这种情况下,我会将您的绘图代码移动到您的BorderContainer的重写updateDisplayList函数中。 – 2011-04-08 16:20:06

2

我看到两个可能的问题。

  1. 你忘了使用BorderContainer 对象添加到舞台
  2. 没有你 对象使用BorderContainer参考。尝试跟踪 在你的事件监听,或 改变它的目标或currenTarget
0
var _shape:Shape=new Shape(); 
addchild(_shape); 

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

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