做的AS3handbooks1.0组件需要做一些小的改动,输出swc文件后做了小测试为了省事便在相同的.fla目录下建了一个test.fla的文件,倒入输出的swc文件测试时发现提示不能引用空对象的属性或方法,顿时一头雾水.
按理如果组件有问题在输出swc文件的时候就应该报错了,但是在输出测试组件的过程中一切正常,输出了成品swc文件后反而不正常了!
折腾了1个多小时不得其解,最后一个不经意的做法解决了这个问题,我在其他的目录下新建了一个fla文件,再次引用了这个组件居然一切正常了,一下子我联想到了类包的路径,莫非是组件在输出的时候外部的类包仍然会对其有影响?
测试的结果证明了偶的怀疑,输出了swc格式的组件仍然遵循fla编译的规则,会按照预设的类路径去编译,因为输出的swc已经将引用的类包进行打包处理了,所以相对会进行两次初始化动作,这样因为不可预知的原因产生了冲突导致错误.
所以在测试自制组件的时候输出swc后一定记得要在远离组件类包路径的地方进行成品测试!