【发布时间】: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。
【问题讨论】:
标签: flash sprite-sheet jsfl texturepacker