导航

 Flexs.cn

Flash、AS2 、AS3、Flex、FMS、RED5、AIR 、游戏制作教程聚合

« AS3物理引擎 (AS3 Physics Engine) 一步一步学Flash Media Server(一) »

TypeError: Error #1009: 无法访问空对象引用的属性或方法。(解决)

细部分析和总结:
由于主SWF和子SWF单独运行都没有问题,一旦要求主SWF加载子SWF的时候就报找不对象或者属性这个问题.导致子SWF不能顺利运行.
原因在子SWF的stage属性上. 单独运行的子SWF的时候,实例已经处于舞台上.所以子SWF的stage属性是事实存在的.所以在子SWF类构造函数中引用stage属性是正常的.但是一旦被主SWF加载的时候.主SWF还没有来得及addChild(子SWF),导致子SWF的stage属性为null.在过构造函数中引用值为null的stage导致错误发生.以至于不能正常加载.

=========
解决这个问题办法:
      在子SWF类构造函数中加入(红色)
//举例code:
//===============
package{
    import flash.display.MovieClip;
    import flash.events.Event;
    public class  testClass extends MovieClip{
            public function testClass():void
            {
            this.addEventListener(Event.ADDED_TO_STAGE,onStageHandler);
            }
              priatve function onStageHandler(evt:Event)
                {
                init()
                this.removeEventListener(Event.ADDED_TO_STAGE,onStageHandler);
                }
                priatve function init():void
               {
                //子SWF的主体构CODE放这里.
              //对stage属性的引用
              }
    }//endclass
}//endpackage

来自:http://blog.csdn.net/czx33859066/archive/2008/09/27/2988476.aspx
  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。


Powered By MaxSugar

Copyright 2005-2007 Flexs.cn Some Rights Reserved.

Search

最近发表