来自 Flash 影片剪辑的多分辨率精灵表

Posted

技术标签:

【中文标题】来自 Flash 影片剪辑的多分辨率精灵表【英文标题】:Multiresolution spritesheets from Flash movieclip 【发布时间】:2014-10-19 23:42:09 【问题描述】:

我正在尝试通过 JSFL 从影片剪辑或 FLA 文件中的库项目中导出多分辨率精灵表。 我想要实现的是正确自动导出单个影片剪辑的 1x、2x、4x spritesheets,准备好在移动设备上进行多分辨率处理,就像 TexturePacker 可以做的那样。 现在我可以仅以 4 倍导出单个 PNG 文件并使用 TexturePacker 完成所有操作,但 Flash 可以在没有质量损失的情况下做到这一点,因为所有缩放和导出都将来自矢量源,而 TexturePacker 会缩小 4 倍光栅图像。 唉,显然没有自动的方法来使用嵌入 Flash 的 spritesheet 生成器来获取它,所以我正在尝试建立一个 JSFL 脚本。

通过 JSFL,我可以轻松导出库项目的 1x spritesheet,但我不知道如何创建同一 spritesheet 的 2x 和 4x 版本。 从精灵表生成器的文档中,我看到: “如果您从舞台导出,则应用到符号实例的任何变换(缩放、倾斜等)都会保留在图像输出中。” 我正在考虑通过 JSFL 创建一个缩放为 2 倍的影片剪辑,然后在舞台上创建一个缩放为 4 倍的影片剪辑,然后将它们传递给 SpriteSheetExporter,但显然导出器只能接受来自库的符号(通过 addSymbol),而不是来自阶段。 在导出工作表之前,它显然也没有任何参数来缩放或转换符号,所以我很坚持这一点。

有人想出一个解决方案来自动从 Flash 影片剪辑中导出多分辨率精灵表吗?您有什么建议我可以进一步调查以完成此任务吗?

PS 我知道 TexturePacker 可以直接处理 SWF 文件,但这种方法有一些限制。例如,它无法正确渲染嵌套影片剪辑的帧。这就是为什么我想要一个完整的工作流程来直接从 Flash 环境中生成多分辨率 spritesheet。

【问题讨论】:

【参考方案1】:

我将我的电影剪辑放在舞台上,对它们进行缩放,例如200 %,在舞台上选择它们,因为这将保留应用的所有转换,右键单击选定的影片剪辑之一并从上下文菜单中选择 Generate Sprite Sheet...。

在此处记录(第 2 段):http://helpx.adobe.com/flash/using/create-sprite-sheet.html

希望对你有帮助,干杯,克劳斯

糟糕,抱歉,您自己在问题中提到了这一点。太热心了 ;-)

【讨论】:

是的,正如我所说,我想通过 JSFL 自动化这个过程。我真的不能在舞台上手动导出每个分辨率中的每个资产。这会很疯狂。

以上是关于来自 Flash 影片剪辑的多分辨率精灵表的主要内容,如果未能解决你的问题,请参考以下文章

用flash as3语言如何将影片剪辑存入一个数组以及如何访问?

FLASH中影片剪辑嵌套按钮实现。AS2.0

子数涵数·Flash——影片剪辑的控制命令1

如何使用顶部的按钮在 Flash 中缩放影片剪辑

Flash 自动播放影片剪辑

子数涵数·Flash——影片剪辑的其他操作