对于长期使用Flash IDE的人而言,可能使用Flex和AS3会带来很多困惑,尤其是DisplayObject和没有可视化时间轴的代码处理方式。还有就是AS2的开发人员,无数次的忘记在编写AS3代码时,还需要不断的import flash.display.MovieClip或者Sprite之类来构造显示对象。而当他们快要习惯这种AS3方式的时候,回到Flash IDE中,发现又出现了很多不适应和困惑,比如,什么时候需要import?什么时候不需要?为什么看别人的FLA,有的frame script上就有Import,有的就没有?我这里做一个非常简单明确的整理来做一个小的提示:
AS2中,除了filters,geom,external和custom class,基本上不需要import,因为AS2中所有类和方法(函数)都是global的
AS3中,除了包->顶级(语言参考)中的类不需要import,其他都需要import,包括flash.display中的类。
但是在Flash CS环境下,使用时间轴的方式来在frame上编写AS3代码,就不要import有关于flash包中的类,这些已经被Flash IDE搞定了,比如在frame中,直接写var myMC:MovieClip=new MovieClip(),就行了,不用import了。
当然,还有非常多的AS2面向AS3迁移的细节,包括AS3在Flex和FlashCS两个工具中的不同约定,看看语言参考和查查论坛吧。