Flash专栏: 基础教程 | 技巧运用 | MTV实例教程 | 游戏实例教程 | 实例教程 | AS教程(new)
photoshop专栏: 基础 | 进阶 | 技巧总汇 | 精彩实例 | 文字特效 | 滤镜魔术 | 实际应用
网页设计: Dreamweaver教程 | FireWorks教程 | CorelDraw设计 | Freehand/Illustrator教程 | 音乐转换教程
其他教程: 操作系统 | 程序设计 | 网站开发 | 图形图像 | 数据库 | 网络技术 | 安全相关 | 认证考试 | 硬件知识 | 服务器
Flash专栏>AS教程>MovieClip的onLoad和onData bug以及变态修正方法   返回上一页

  日期:2006-03-22 14 作者:ai829 来源:80s team blog
天气预报 IP地址 手机号码 邮编 翻译 在线代理 在线评书 好dj


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


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

(完)

编辑:卡其色


 
高手云集 版权所有 1998-2006