2011-04-05 57 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); 

使用上面的代碼將在屏幕上顯示一個矩形。