Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tags 是否有任何SWF库可以只编辑一个SWF标记?_Tags_Flash_Edit - Fatal编程技术网

Tags 是否有任何SWF库可以只编辑一个SWF标记?

Tags 是否有任何SWF库可以只编辑一个SWF标记?,tags,flash,edit,Tags,Flash,Edit,我正在处理一个项目,我需要打开一个swf文件,更改swf标记的内容,而不必触摸其他标记 我尝试过“SwfDotNet库”,但它不输出未知标记。例如,如果遇到“EXPORTASSETS”标记,它不会将其写入输出SWF,因为库是旧的,支持SWF版本7,并且标记是新的 是否有具有此功能的库?我有as3(flex)解决方案,可以在运行时工作: 通过URLLoader以字节数组的形式加载所需的swf 通过util解析swf 对标记进行了更改 生成新的bytearray并通过通用SWFLoader加载它。

我正在处理一个项目,我需要打开一个swf文件,更改swf标记的内容,而不必触摸其他标记

我尝试过“SwfDotNet库”,但它不输出未知标记。例如,如果遇到“EXPORTASSETS”标记,它不会将其写入输出SWF,因为库是旧的,支持SWF版本7,并且标记是新的

是否有具有此功能的库?

我有as3(flex)解决方案,可以在运行时工作:

  • 通过URLLoader以字节数组的形式加载所需的swf
  • 通过util解析swf
  • 对标记进行了更改
  • 生成新的bytearray并通过通用SWFLoader加载它。 我使用这种方式在运行时更改swf版本
  • 另外,请看一下用于swf内容操作的这些工具:

    • -您可以将swf转换为xml,调整并转换回swf
    这可以通过使用来完成。例如,如果要只读ShowFrame标记:

    var reader:AsyncSWFReaderFiltered = new AsyncSWFReaderFiltered();
    reader.includedTags[1] = true;
    reader.addEventListener(AsyncSWFReaderEvent.TAG_READ, function(ev:AsyncSWFReaderEvent):void
    {
         trace('Done reading tag #'+ev.result.swf.tags.length);
    });
    reader.read();
    

    所有其他标记将显示为
    未知标记
    ,它们只是
    ByteArray

    项目中使用的语言的容器。在flash端,我有AS2和AS3 swf文件。编辑swf的程序可以是任何语言……那么写呢?我检查了示例,例如有一个SWF10Writer。如何在不做任何更改的情况下编写currentReadResult。(我不想自己指定flash版本或其他任何东西)使用这个例子。您不必指定flash版本。