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

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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也可以。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航