七、关于“AS程序、实例名、变量、数组、动态文本” 值得庆幸的是,这一系列关系到动画特殊效果的程序模块及内部逻辑关系的特性还原得相当完美!包括一些“内外勾结”的命令如“attach”、 “fscommand”、“load”,以及depth层次属性等。 但可能在某些较复杂的代码流程与其相对应的实例中发生一些逻辑错误,按理说,只要对象的“实例名”及其在时间线的位置正确,应该没问题,但JS毕竟也 是一段程序,根本上它是“刻板”地运行着,它做的工作是从无到有地创建新元件库、场景和时间轴,然后在其中重新安排各元素的位置与属性,一些不明确的因素 导致逻辑差错是免不了的。 八、 关于“组件(Components)智能MC(SmartClip)” “组件”与“智能MC”一个共同的特征就是“带参数的MC”,在他们的属性面板中会多出一个“参数设置”框,在“库”中的符号也与众不同,统称为“组 件”,但在新时间轴上,这些特性全部没有了,变化了最普通的MC,属性面板中参数设置也不复存在。 其中“智能MC”运行正常,只是不能再在面板中设置参数,而“UI组件”并不顺利,这些组件一般均含有多层内部MC及封装了的代码,经我测试,成功率约在 一半吧,失败原因多数是逻辑关系的混乱。 九、关于“遮罩、热区(hitTest)动画” “遮罩”特性还原得很好,只不过新时间线会增加许多层来容纳原影片中放置在一层中的元件。“热区”动画关系到AS代码及鼠标事件,在新时间线中完全正 常。 十、关于“引导线”动画 “引导线”动画的效果能毫不失真地正确回复,但我们已经知道,引导动画一般是以“动作变形”实现的,所以在重构动画时,“引导层”没有了,动画效果以 对象的“不同属性的逐帧序列”来表示,这一点参阅“动作变形”。 十一、关于“位图、图形及文本对象” 如果swf中曾使用了“位图”,如PNG、GIF、JPG等,那么每个“位图”在新的元件库中会出现一对元件项目,一个是矢量元件,另一个是“位 图”,这是因为在Flash作品中不直接显示“位图”,“位图”只不过是作为矢量图内部填充的一个图片,不信,你只需删除库中的“位图”,影片中的矢量图 也将消失。 “图形”(矢量图)以及“文本”对象在重建中没问题,后者还保存了字体、字号等属性,只不过未打散的文本如果在你的机器中无相应字体,将发出警告信 息。 十二、关于“声音、视频对象” swf中的声音经过多种模式的压缩转换,所以一般从swf中提取的MP3文件往往不能导入flash,ASV还原声音的功能特别强,我至今还未发现问 题,视频在ASV中自动转换为flash缺省的视频格式:FLV,在新时间线中,声音在时间线中的位置、压缩效果属性均完好地复原,而视频仍然是封装着的 一段序列。 十三、关于“读入保护” 不少swf文件设置了“读保护”,以前,你用拆解工具另存为swf文件后,仍然不能被“导入”flash,现在,这些极其脆弱的加密机制在ASV面前 形同虚设! 但作为一个可能的情况,一些动画编程采用了在AS脚本的某些部分加进一些“加密程序”,这一种非常规的加密手段,形起解析错误,可能连ASV也无能为 力了。 经过我对几十个性质各异、内容不同的swf进行fla还原测试,结果是相当满意的,如果把重构后的“时间轴”外观的“不规 范”忽略,单从播放效果评价,成功率超过95%!有一个不能运行(用了UI组件),一个失真,其它全部正常。 接下来,我们探讨一下如何把这些结果变得更完好一些。请继续...... |