为什么Sprite的图形对象没有绘制到屏幕上?

时间:2010-02-14 04:55:22

标签: asp.net flex actionscript-3

当我调试我的代码时,屏幕上没有任何内容。我已经重新检查了代码,并与其他人进行了协商,但没有出现任何内容。我的html模板很好。

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;

            }

        }
    }

1 个答案:

答案 0 :(得分:1)

除非asgnv2是Document类,否则它将不起作用,因为您在asgnv2的构造函数内的阶段上注册了ENTER_FRAME事件。在将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 }