本页面由 Flash 保存计划 从 Internet Archive 存档还原 · 快照 2006-07-08 · 原址 http://www.flash8.net/teach/4530.htm ← Flash 保存计划

MovieClip的onLoad和onData bug以及变态修正方法

作者:ai829   类型:转载   来源:80s team

  
  var pages = this.mc.createEmptyMovieClip("pages",0);
    pages.onLoad = function(){
      trace(this._width);
    }
    pages.onEnterFrame = function(){
      trace(111);
    }
    pages.onData = function(){
      trace(this._width);
    }
    trace(pages.onLoad);
    trace(pages.onData);
输出后都是undefined
也就是说都没有被调用这个处理方法,但是用onClipEvent(data){}是可以trace的,也就是说问题已经解决了。
可是问题又来了,如果在类里我们怎么办呢,就只能用MovieClip.onData了。但是又不能调用,和jiagao讨论了一下,他也遇到了相同的问题。
想了一下,琢磨了一个简单的变态方法。方法如下:
    var pages = this.mc.createEmptyMovieClip("pages",0);
    pages._x = 2;
    pages.onLoad = function(){
      trace(this._width);
    }
    pages.onEnterFrame = function(){
      if(this.onLoad!=undefined&&this.onData!=undefined){
        trace(pages.onLoad);
     trace(pages.onData);
        delete this.onEnterFrame;
      }
      trace(111);
    }
    pages.onData = function(){
      trace(this._width);
    }
这样就没问题了,如果你不嫌麻烦的话就写一个extends MovieClip也可以。
   责任编辑:uufeng    时间:2005年10月25日

正在加载评论...