2010-02-14 61 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 }