首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Flash >

会导致Flash CS4崩溃的元件绑定类的有关问题

2012-10-07 
会导致Flash CS4崩溃的元件绑定类的问题今天做一个简单的面板的视后发现了一个奇怪的问题,就是使用Flash C

会导致Flash CS4崩溃的元件绑定类的问题
    今天做一个简单的面板的视后发现了一个奇怪的问题,就是使用Flash CS4进行预览,当面板显示出来时候,Flash CS4 就会崩溃。检查了各个方面,发现最大嫌疑是一个有导出类的原件。它是使用一个有两帧的MovieClip来模拟的一个CheckBox,第一帧没有勾,第二帧打上了勾。
     开头我怀疑是绑定类的问题。这个原件有绑定类,那个绑定类继承的是Movieclip类。我也检查过库中原件的属性面板,的确原件的类型为“影片剪辑”。而且这个导出类的构造函数也没有参数,可以直接拖动到舞台上面使用。
     检查了这么久没有结果,开始怀疑Flash Player 版本的问题,于是使用 10.1版的Flash Player来带开那个SWF,发现显示正常,没有出现崩溃的问题。这个时候我就郁闷了。
     在几近要放弃的时候,突发其想,既然10.1版Player没有问题,那么使用Flash CS5进行编译文件看看有没有什么问题也好。于是用Flash CS5尝试编译,发现编译报错。报错信息大概是,原件绑定类必须继承SimpleButton类,因为原件类型是SimpleButton类型。
     这个时候我就有点晕了,在库面板里面,我再三确认原件类型是影片剪辑啊。然而,我突然想起那几个被拖放到舞台上面的两个CheckBox。选中一个,看看属性面板,显示类型为“按钮”。我了个囧,原因找到了。
     我记起来即使在库中原件类型是已经声明了的,但是在舞台上面的对象类型还是可以强制更改成任意类型的。我出现的原因是虽然库中的原件声明和导出类类型都一致,但是在舞台上面的实例却变成了另外的类型。而这个问题刚好在Flash CS4中编译的时候是没有检查到的,于是编译通过。然而还是逃脱不了运行时的崩溃错误。
     至于Flash Player 10.1没有出现崩溃,大概是虚拟机有所更新吧,容错能力好了。而且Flash CS5的编译检查也更加全面了,能在编译期发现问题。我想这个也算是个Flash CS4的小bug吧,呵呵。
     原创文章,转载请注明出处:http://peijinlong.iteye.com

热点排行