请熟悉swf文件格式的大哥大姐们帮帮忙,小女子有礼了!!

smartcube 2010-06-19 06:21:38
现在要用vc++生成一个swf文件,上网查找相关资料后找到一个swf sdk 但是已无法下载了,后又上Adobe官网查到一份swf file format spec,弱弱的问一句,是否利用记事本按照swf file format 规范可以直接生成一个.swf文件,就如同我们可以利用记事本直接产生一个.cpp/.c文件一样?这个问题可能比较nc但看在小女子新来的份上恳请各位好心人帮忙解疑,在这谢谢大家了!
...全文
97 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wind_breez 2010-06-22
  • 打赏
  • 举报
回复
唉 来晚了 一分都没落着,郁闷,LZ太不讲究!
wind_breez 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 smartcube 的回复:]
现在要用vc++生成一个swf文件,上网查找相关资料后找到一个swf sdk 但是已无法下载了,后又上Adobe官网查到一份swf file format spec,弱弱的问一句,是否利用记事本按照swf file format 规范可以直接生成一个.swf文件,就如同我们可以利用记事本直接产生一个.cpp/.c文件一样?这个问题可能比较nc但看在小女子新来的份上恳请各位好心人帮忙解疑,在这谢……
[/Quote]

如果你按照规范把对应的swf文件数据按规范写到一个文件(文件头+tag),那肯定是可以的。问题是你要怎么保证你写的符合swf文件规范。如果只是将几个图片,声音合成还比较简单,要再多功能那就相当了。
wangli820 2010-06-19
  • 打赏
  • 举报
回复
这个相当复杂的哦,楼主想用来干什么?
oyster2008 2010-06-19
  • 打赏
  • 举报
回复
如果知道全部格式,当然可以自己生成的,不过应该相当复杂,再查查有没有现成的库吧
  • 打赏
  • 举报
回复
基本不可能!
.swf相当于VC中的.exe,中不能改个后缀就能用吧。
.swf文件在flash中的源文件是.fla
smartcube 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kite289 的回复:]
正好我以前做过,说下我的理解,先是Swf文件格式:
一个Swf文件除了头部有一个表示文件属性的FileHeader,之后都是一个个Tag组合起来的Tag流,

播放的时候,播放器会逐Tag进行解析,
比如说遇到定义图形的DefineShapeTag,就会往在索引表中指定id处添加一个形状,
遇到PlaceObject2 Tag,就会往搜寻到指定ID号的形状,然后放到当前活跃帧上去。
……
[/Quote]
非常感谢kite289,其实就是需要固定生成一个模板,正如您所说的那样,分数就给你啦,万分感谢!
kite289 2010-06-19
  • 打赏
  • 举报
回复
正好我以前做过,说下我的理解,先是Swf文件格式:
一个Swf文件除了头部有一个表示文件属性的FileHeader,之后都是一个个Tag组合起来的Tag流,

播放的时候,播放器会逐Tag进行解析,
比如说遇到定义图形的DefineShapeTag,就会往在索引表中指定id处添加一个形状,
遇到PlaceObject2 Tag,就会往搜寻到指定ID号的形状,然后放到当前活跃帧上去。
遇到ShowFrameTag,就会把当前帧显示出来,并等待计时器触发下一帧。

这样,就算你自已用二进制的形式编写一个文件,只要它的码流是符合格式的,播放器就能一个一个分离出Tag,然后按逻辑执行。其实手工编写二进制数据不大现实,最好在C++上以二进制的形式fopen一个文件,再依照Swf Spec里面介绍的文件格式往里面写Tag数据。
我感觉如果你想自已做一个swf文件编辑器,类似Flash 8一样的编辑软件,可行性较小,工程量实在太大了,估计得二十来号人干四五年,因为整个Spec你都得完全吃透然后实现了,并且由于格式的专利性和不透明性,很多脚本的解释都是模糊的。
如果你只是希望在执行程序的时候,每次生成的都是一个固定模式或较简单的swf文件,比如说第一帧显示图片A,第二帧显示图片B,程序只需要会生成几种较简单的Tag就行了。
smartcube 2010-06-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wind_breez 的回复:]
引用楼主 smartcube 的回复:
现在要用vc++生成一个swf文件,上网查找相关资料后找到一个swf sdk 但是已无法下载了,后又上Adobe官网查到一份swf file format spec,弱弱的问一句,是否利用记事本按照swf file format 规范可以直接生成一个.swf文件,就如同我们可以利用记事本直接产生一个.cpp/.c文件一样?这个问题可能比较nc但看在小女子新……
[/Quote]
我是lz,谢谢楼上各位以及wind_breez,在国外的相关论坛搜索到了相关的帖子(http://board.flashkit.com/board/showthread.php?t=258805),其中提到利用win_hex直接编辑二进制文件用以生成swf,现在如果知道各偏移量处需要写入的数据(数据规范可以参看http://blog.csdn.net/freexploit/archive/2005/12/28/564038.aspx)是否就可以成功生成swf文件了?这样做到底有没有可行性?实际要求的功能很简单,就是合成几个图片,添加一些控件而已,希望wind_breez能做出回答,万分感谢!




设计时指定的速度,单位是(帧/秒)。
N3 影片的总帧数

正确的帧数应该是按N4、N3的顺序排列得到的十六进制数。
N4
N5 (作用不详)
N6 (作用不详)
N7 背景色中红色值
N8 背景色中绿色值
N9 背景色中蓝色值
·
·
· 影片数据区
  文件的最后四个字节为40 00 00 00
 
 
 




本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/freexploit/archive/2005/12/28/564038.aspx

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧