Flash Actionscript 2和Actionscript 3是否可以一起工作?

Flash Actionscript 2和Actionscript 3是否可以一起工作?,flash,actionscript,actionscript-2,Flash,Actionscript,Actionscript 2,基本上这就是我所处的情况,我有一个AS2文件,它使用loadMovieNum(“file.swf”,0)命令链接并打开一个AS3文件,运行良好。在打开的AS3文件中,我有一个按钮,它使用loader类链接回AS2文件,并删除child将原始AS2文件重新加载到屏幕上,这看起来很好 然而,我现在唯一的问题是,在重新加载时,我的原始AS2文件中的一些功能似乎并不像第一次加载时那样100%正常工作,例如某些按钮 我试图在这里实现一些太复杂甚至不可能实现的事情,我是否最好在AS3中重写我的整个项目?(由

基本上这就是我所处的情况,我有一个AS2文件,它使用loadMovieNum(“file.swf”,0)命令链接并打开一个AS3文件,运行良好。在打开的AS3文件中,我有一个按钮,它使用loader类链接回AS2文件,并删除child将原始AS2文件重新加载到屏幕上,这看起来很好

然而,我现在唯一的问题是,在重新加载时,我的原始AS2文件中的一些功能似乎并不像第一次加载时那样100%正常工作,例如某些按钮

我试图在这里实现一些太复杂甚至不可能实现的事情,我是否最好在AS3中重写我的整个项目?(由于时间限制,我目前不想做的事情)


非常感谢,

总的来说,混合使用ActionScript2和3不是一件好事,特别是AS2是“家长”。由于您似乎要从AS2调用AS3,然后再调用AS2,我猜它最终还是会中断。所以,是的,解决方案是至少在AS3中创建父脚本。试着把你的项目分成更多的部分,也许你可以避免重写所有的东西

  • 用ActionScript 1.0或2.0编写的SWF文件无法加载用ActionScript 3.0编写的SWF文件。这意味着在Flash 8或Flex Builder 1.5或更早版本中编写的SWF文件无法加载ActionScript 3.0 SWF文件

    此规则的唯一例外是,ActionScript 2.0 SWF文件可以用ActionScript 3.0 SWF文件替换自己,只要ActionScript 2.0 SWF文件以前没有将任何内容加载到其任何级别。ActionScript 2.0 SWF文件可以通过调用
    loadMovieNum()
    ,将
    0
    的值传递给
    级别
    参数来实现这一点

  • 通常,如果要与ActionScript 3.0中编写的SWF文件协同工作,则必须迁移ActionScript 1.0或2.0中编写的SWF文件。例如,假设您使用ActionScript 2.0创建了一个媒体播放器。媒体播放器加载也使用ActionScript 2.0创建的各种内容。您无法在ActionScript 3.0中创建新内容并将其加载到媒体播放器中。必须将视频播放器迁移到ActionScript 3.0

    但是,如果您在ActionScript 3.0中创建媒体播放器,该媒体播放器可以执行简单的ActionScript 2.0内容加载