2010-02-14 60 views
0

當我調試我的代碼沒有出現在屏幕上。我已經重新檢查了代碼並與其他人協商,但沒有任何內容出現。我的html模板很好。爲什麼Sprite的圖形對象不能繪製到屏幕上?

package { 
    import flash.display.Sprite; 
    import flash.events.*; 


    public class asgnv2 extends Sprite 
    { 
     var lineY = 0; 
     public function asgnv2() 
     { 
      stage.addEventListener(Event.ENTER_FRAME, update); 
      graphics.lineStyle(1); 
     } 
     function update(e){ 
      graphics.clear(); 
      graphics.moveTo(0 ,lineY); 
      graphics.lineTo(100, lineY); 
      lineY+=0.5; 

      } 

     } 
    } 
+0

你是如何引用asgnv2?換句話說,你如何使用asgnv2,以期望它出現在舞臺上? – 2010-02-14 05:19:31

回答

1

除非asgnv2是文檔類,這是行不通的,因爲你是在asgnv2的構造函數中的舞臺登記ENTER_FRAME事件。一個DisplayObject在添加到Stage Display List之前不能訪問stage屬性。所以請嘗試以下。

public function asgnv2(){ 
    this.addEventListener(Event.ADDED_TO_STAGE, onAdded); 
    graphics.lineStyle(1); 
}

private function onAdded(e:Event):void { stage.addEventListener(Event.ENTER_FRAME, update); this.removeEventListener(Event.ADDED_TO_STAGE, onAdded); } private function update(e:Event):void{ //do the stuff }