ForcibleLoader低版本SWF兼容适配
低版本 SWF 的高版本适配,一直是 AS3 里挺烦人的事,是你手头还有些旧项目资源,直接用 Loader 加载,常常就出问题。ForcibleLoader.as
就是专门搞定这茬事的,能把version 9
以下的 SWF“伪装”成高版本,让 AS3 环境更顺畅地读进去。
它用的思路也蛮巧,先把 SWF 读成ByteArray
,再通过loadBytes()
加载。中间会偷偷把 SWF 头部的版本号改成 9 以上,看起来就像是“合法”的新版文件,Flash Player 自然也就不太挑了。
你如果遇到的是一些动画类的老 SWF 文件,转换成功率还是挺高的。转完之后,它基本就像个普通MovieClip
,你能addChild
,也能监听事件,访问子元素都 OK。代码里怎么用你也懂,AS3 那一套写就行。
啦,也不是万能钥匙。要是老 SWF 里用了古早的ActionScript 1.0
语法或者奇怪的图形命令,那就得看你的运气了。有时候转了之后行为怪怪的,还得手动补救下。
我之前接了个老项目迁移的活儿,用ForcibleLoader
确实省了不少事,尤其是在不想重做素材又想在 AS3 里继续迭代的场景下。如果你也有类似需求,可以试试它,配合SWFObject
或者其他加载策略一起用,体验还不错。
延伸看看:ActionScript3 教程 也讲得挺清楚,有空可以翻翻。
ForcibleLoader.rar
预估大小:1个文件
ForcibleLoader.as
5KB
2.09KB
文件大小:
评论区