zoukankan      html  css  js  c++  java
  • stage报告为空对象

    stage对象是所有displayObject的共有属性,引用到舞台对象(即stage)。但很多人会忽略的是,只有displayObject放置到舞台后,displayObject.stage才能指定到舞台,不然stage属性为null,运行时报错。我们用一段代码就容易理解这是为什么:
    package{
    import flash.display.*;

    public class mc extends Sprit {
    public function mc():void{
    super();
    stage.displayState=StageDisplayState.FULL_SCREEN;
    }
    }

    }

    在舞台脚本的第一帐加入

    import mc;

    var mc:mc = new mc();

    addChild(mc);

    上面,我们将flash设为全屏播放,但刚运行就报错了。
    这是因为我们在实例化mc时flash执行了超类代码,检测到this.stage这个对象,但因为mc还未addChild到舞台,所以stage = null,即为空对象。addChild(mc)还在下一句,因此就报错了。
    你可能会说总先实例化才能加入舞台吧,不可能倒过来。没错,这个问题也有解决办法,就是监听加入到舞台的事件:
    obj.addEventListener(Event.ADDED_TO_STAGE, fun)
    最后变成:

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

    public class mc extends Sprit {
    public function mc():void{
    super();
    this.addEventListener(Event.ADDED_TO_STAGE, addToStage);
    }
    }

    private function addToStage():void {
    stage.displayState=StageDisplayState.FULL_SCREEN;
    }
    }

  • 相关阅读:
    Alpha 冲刺报告(5/10)
    Alpha 冲刺报告(4/10)
    Alpha 冲刺报告(3/10)
    Alpha 冲刺报告(2/10)
    Alpha 冲刺报告(1/10)
    项目需求分析答辩总结
    项目选题报告答辩总结
    项目UML设计(团队)
    第七次作业--项目需求分析(团队)
    第六次作业--结对编程第二次
  • 原文地址:https://www.cnblogs.com/sumsung753/p/3821506.html
Copyright © 2011-2022 走看看