2011-03-11 27 views
0

我的程序需要动画。我的设计师在Flash中绘制动画并为我提供* .fla文件。我需要的只是从该文件中抓取30-40个PNG并将它们存储在我的内部存储器中。使用C++从* .fla导出* .png序列

是否有可能从* .fla与C++获取资源?可能有些Adobe OLE对象可以提供帮助?

请指教。

在此先感谢。

+0

你有CS吗?你可以在那里打开文件并从那里获取图像,然后将其导入到C++项目中。为什么你需要用C++获取资源? – FrozenWasteland 2011-03-11 04:26:43

+0

我知道,在一些视频游戏中,很多菜单和guis等东西都是在flash中完成的:某种方式将swfs导入C++应该存在..但我不知道如何.. – nkint 2011-03-11 04:32:36

+0

@FrozenWasteland,我确实有Adobe CS,但我需要在代码中完成。该程序必须能够在运行中加载* .fla。 – Dalamber 2011-03-11 05:25:35

回答

1

假设

  1. 您正在使用CS5
  2. 在FLA内部使用的资产已经PNG的,只要你想的那样。

然后,只需获得FLA保存为XFL文件,你将能够从库文件夹,抓住他们,(但当时为什么不直接让他们寄给你的PNG图像?)

所以,如果出于某种原因,您只能访问fla而不是设计器,那么您可以通过将fla重命名为.zip,解压缩来编程实现它,并且您有XFL格式。

4

如果我要求艺术家让我成为一个图标,我不希望需要编写代码来将.3DS模型转换为可用的图标格式。

您可以让设计师使用File-> Export为您节省大量时间和麻烦,并为您提供图层和框架的PNG,而不是.FLA文件,如果这是您实施所需的格式。

如果由于某种原因而无法实现,那么您可能会发现一个闪存反编译器,它有一个命令行选项,您可以从程序启动以提取资产作为加载顺序的一部分,但这通常是不被接受的,因为这是而不是用于.swf/.fla的专有格式的预期用途,而不是设计应用程序以从二进制可执行文件中提取源代码。