SWF文件研究(2)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SWF文件研究(2)
1、S WF的文件格式(续上)
1.1准视频标签
(1) Bitmap (JPEG)
(2) Shape (Shape Morphing & Static)
(3) Font & Text
(4) Button
(5) Movie
1.2 音频标签
Sound (已经拆分出)
1.3 控制标签
ActionScript等
ps: 通过遍历整个文件(Swfdotnet C# 或者自己写的解析程序),如今已经可以取得任意位置的标签及其内部信息
2、渲染流程
○1读标签及其内容:
针对每一个标签分配一个单独的Character ID号,以便作为Dictionary的索引。

○2将标签加入Display List:
按照脚本及其他控制类标签的流程,给每一个Character ID分配深度信息等显示要素。

○3帧完整标志:
当遇到ShowFrame标签时表示帧所包含的元素以备齐,并按照ActionScript等控制流程进行混合渲染。

(所以此时该帧所引用的所有元素,必须在Dictionary中有所定义)
3、渲染方法:
○1Adobe公司出的控件
公开的接口有限,只有设置文件名,播放、停止等简单的控制操作。

○2GNU开源的swfdec
源代码是以Linux为平台,使用GCC(make命令)作为编译器,使用GTK+作为渲染工具的,其中有关联了Glib(类似于STL)、pkgconfig等开发包,而他们均为Linux平台下的,有少数含有MSVC配置好的工程,但是编译时缺少文件
○3Gnash
源代码依然为Linux平台下的,使用GCC(make命令)作为编译器, 使用编译好的可执行程序做过尝试效率很低。

4、瓶颈
○1找不到swfdec在MSVC下配置好的工程,无法调试
○2代码中掺杂Glib开发包的代码,由于对Glib知之甚少,所以很难从源代码级得以突破○3尝试了在MSVC下编译Glib,不过一直没有成功,因为必须同时所涉及其他第三方开发包,而许多没有在MSVC下配置好的工程。

相关文档
最新文档