Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
Iphone 将Flash动画转换为Cocos2D 摘要_Iphone_Xml_Ios_Flash_Cocos2d Iphone - Fatal编程技术网

Iphone 将Flash动画转换为Cocos2D 摘要

Iphone 将Flash动画转换为Cocos2D 摘要,iphone,xml,ios,flash,cocos2d-iphone,Iphone,Xml,Ios,Flash,Cocos2d Iphone,我需要的是一种技术,给定一个单一但分层的Flash动画,将每帧中每个关键电影剪辑的位置和旋转导出为XML 编码将此信息读入准备好的cocos2d格式将节省大量时间,但这不是必需的,因为我知道如何实现这一点 我们的艺术家经常使用Flash绘制矢量,并拥有精彩而令人印象深刻的动画。在过去,我们将这种艺术融入游戏的技术是将单独的动画作为PNG序列导出,将它们粘贴在精灵表中,然后将它们转换为动画 这项技术工作得很好,多亏了spritesheets和pvrtc,我们可以在20MB无线下载限制中获得相当多的

我需要的是一种技术,给定一个单一但分层的Flash动画,将每帧中每个关键电影剪辑的位置和旋转导出为XML

编码将此信息读入准备好的cocos2d格式将节省大量时间,但这不是必需的,因为我知道如何实现这一点

我们的艺术家经常使用Flash绘制矢量,并拥有精彩而令人印象深刻的动画。在过去,我们将这种艺术融入游戏的技术是将单独的动画作为PNG序列导出,将它们粘贴在精灵表中,然后将它们转换为动画

这项技术工作得很好,多亏了spritesheets和pvrtc,我们可以在20MB无线下载限制中获得相当多的艺术作品。然而,随着我们的发展,我们希望制作更大更好的游戏,这意味着更多的艺术

我现在想要实现的是通过使用关键帧技术来模拟闪光行为,移除重复的艺术作品,从而减少艺术作品的质量

i、 e.使用当前技术,一个字符将采用:

一个具有10帧(比如100*300分辨率,30k像素)的行走序列将具有 10,每个站姿的全尺寸人。(总共1000*300 分辨率,一个动画的300k像素

说5个类似的动画,总共150万像素

相同角色的预期结果:

1条右腿:(40*301200像素)

1左腿:(40*30,1200像素)

1个躯干(50*502500像素)

1个左臂(40*301200像素)

1个右臂(40*301200像素)

1个头(30*30900像素)

所有动画的总数(8200像素)

以及一个xml文件,用于解释每个帧的每个部分的转换

我对Flash的了解有限。我已经导出了很多艺术品,所以这不是问题,但我在Actionscript或导出其他信息方面没有太多经验。我注意到“将运动导出为XML”选项,但它没有提供我需要的信息(它不会遍历到电影片段的子对象以获得它们的变换)


Objective-c方面的问题较少,我知道如何解析XML,不过如果有人也写过这篇文章,如果您愿意分享,我将非常感激。

我想您的问题是关于“质量减少”部分的。你一定要看看。使用TexturePacker,您可以创建仅包含多个相同动画帧的单个图像的纹理地图集,同时保留使用原始文件名寻址该帧的能力


TexturePacker有一个cocos2d和flash导出器,可以从常用的文件格式导入。如果有不完全符合您需要的内容,您可以联系作者Andreas Löw。他反应迅速,致力于提供最好的纹理填充工具。

我想你的问题是关于“减重”部分的。你一定要看看。使用TexturePacker,您可以创建仅包含多个相同动画帧的单个图像的纹理地图集,同时保留使用原始文件名寻址该帧的能力


TexturePacker有一个cocos2d和flash导出器,可以从常用的文件格式导入。如果有不完全符合您需要的内容,您可以联系作者Andreas Löw。他反应迅速,致力于提供尽可能最好的纹理打包工具。

我从未发现任何现有工具,因此最终学习了一点ActionScript并自己编写了解决方案

不幸的是,由于公司的政策,我将无法共享我的代码,但我将概述我需要采取的步骤


动作脚本/Flash
  • 一步一步通过每一帧
  • 让孩子们站在舞台上,注意他们的变化
  • 检查他们的每个孩子,注意他们与父母的关系
  • 递归执行此操作,直到子对象没有子对象或您已到达DrawingObject
  • 将信息另存为XML

艺术
  • 从库中导出所需的每个符号并添加到精灵工作表中。(我使用JSFL实现了这一点)

Obj-C/Cocos2d
  • XML应该包含一组帧,每个帧都有一个子帧列表,并且递归地包含它们的每个子帧。每个子节点都包含变换信息
  • 阅读此XML,在找到动画帧时将子对象添加到动画帧中,并将子对象添加到各自的父对象中。应用儿童的变换

希望这对其他人有所帮助。

我从未发现任何现有的工具,因此最终学习了一些ActionScript并自己编写了解决方案

不幸的是,由于公司的政策,我将无法共享我的代码,但我将概述我需要采取的步骤


动作脚本/Flash
  • 一步一步通过每一帧
  • 让孩子们站在舞台上,注意他们的变化
  • 检查他们的每个孩子,注意他们与父母的关系
  • 递归执行此操作,直到子对象没有子对象或您已到达DrawingObject
  • 将信息另存为XML

艺术
  • 从库中导出所需的每个符号并添加到精灵工作表中。(我使用JSFL实现了这一点)

Obj-C/Cocos2d
  • XML应该包含一组帧,每个帧都有一个子帧列表,并且递归地包含它们的每个子帧。每个子节点都包含变换信息
  • 阅读此XML,在找到动画帧时将子对象添加到动画帧中,并将子对象添加到各自的父对象中。应用儿童的变换
希望这有帮助