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;
    }
    }

  • 相关阅读:
    c# 串口所有数据接收 到串口的数据全部处理
    c# 串口调试
    GMap.net离线地图 教程连接
    (转).net 开发人员如何自处
    网址
    文本--->多字节
    .NET 数据库sa
    JAVA线程池
    使用visualvm远程监控JVM
    Session概述(选自WebX)
  • 原文地址:https://www.cnblogs.com/sumsung753/p/3821506.html
Copyright © 2011-2022 走看看