Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/118.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
Ios 为iPhone/iPad应用程序/游戏创建图像/精灵的正确步骤是什么?_Ios_Iphone_Sprite Kit - Fatal编程技术网

Ios 为iPhone/iPad应用程序/游戏创建图像/精灵的正确步骤是什么?

Ios 为iPhone/iPad应用程序/游戏创建图像/精灵的正确步骤是什么?,ios,iphone,sprite-kit,Ios,Iphone,Sprite Kit,我对使用Xcode为iPhone/iPad开发游戏是个新手。因此,我需要一些关于为游戏创建图像/精灵的正确程序的帮助 现在我已经用Illustrator创建了我的精灵,并将它们导出为PDF文件。在Xcode中,我创建了这个单比例资产,并将PDF放入其中 如果我正确理解了文档,Xcode会自动从PDF中在@1x、@2x和@3x处生成图像文件。它会生成PNG文件吗 然后我创建一个SKSpriteNode并设置如下大小:abc.size=CGSize(宽度:123,高度:123)。我没有填写123,而

我对使用Xcode为iPhone/iPad开发游戏是个新手。因此,我需要一些关于为游戏创建图像/精灵的正确程序的帮助

现在我已经用Illustrator创建了我的精灵,并将它们导出为PDF文件。在Xcode中,我创建了这个单比例资产,并将PDF放入其中

如果我正确理解了文档,Xcode会自动从PDF中在
@1x
@2x
@3x
处生成图像文件。它会生成PNG文件吗

然后我创建一个
SKSpriteNode
并设置如下大小:
abc.size=CGSize(宽度:123,高度:123)
。我没有填写
123
,而是填写与Illustrator中设置的帧/图像大小相对应的宽度和高度。这是正确的吗?我想是的,因为这是
@1x
版本

但是,如果我需要iPhone和iPad的不同尺寸的相同图像,我不能简单地调整它的大小,因为
@1x
图像版本不再是矢量,而是限制在Illustrator中选择的帧大小上?那怎么办呢?我是否必须在Illustrator中调整图像大小并将其导出为其他大小

正确的程序是什么?我是否必须在一张纸上用铅笔画一个草图,然后用尺子测量?然后,我会去illustrator,将帧宽高度设置为我手动测量的高度

这么多问题。我对这些图像的大小、分辨率和
@1x
@2x
@3x
版本感到非常困惑。我不知道为什么我应该使用矢量文件,如果我仍然不能在开发过程中调整图像的大小,因为它们仍然绑定到Illustrator中选择的帧大小

是否不可能在我的所有图像之间设置比率,然后只使用矢量PDF文件我应该如何设置Illustrator?


我希望有人能给黑暗带来光明。谢谢。

您的pdf大小应以1x点为单位(而不是像素)。这些点在手机和ipad上的物理尺寸应该相同,但如果你想在手机上缩小它们,你需要第二组图像;资产目录允许您交换基于iphone/ipad的图像。Xcode将您的pdf呈现为png的@1x、@2x和@3x,您的应用程序将根据设备的分辨率选择正确的png。正确的是,这些不再是矢量资源,放大它们可能会留下模糊/像素化的图像。您有两个选择:

1) 在应用程序中以图像的最大比例包含图像的放大版本,并仅在需要放大时使用此版本(否则,如果总是渲染更小的图像,则会浪费内存和处理)。这可能是最简单的解决方案

2) 将资源保留为向量并将其加载为向量,您仍然可以以恒定比例或比例范围将其渲染为图像以获得性能,但如果需要,您始终可以以任何比例重新渲染它们。最有可能的情况是,您希望为此使用


3) 您可以使用以下程序直接将资产作为代码导入。illustrator过去也有类似的插件,但我还没有看到Swift 3/illustrator CC的插件。这显然比#2快,因为不需要解码矢量文件。如果您的文件有大量的透支,您可能仍然希望将图像光栅化以提高性能。

以下是我的经验:

1) Xcode不会从.png文件生成@2x和@3x。它实际上不可能-您需要手动提供@1x、@2x和@3x尺寸

2) 无论您使用什么大小的CGSize(…),它都应该是您的@1x图像,然后从中生成@2x和@3x。我首先在场景编辑器中设计了一个关卡的大小,然后制作了一个普通的SKSpriteNode形状以获得我想要的大小,然后我开始根据我发现看起来不错的大小制作图像


3) Xcode支持基于矢量的图形(svg、pdf),但不能将它们作为纹理图集的一部分使用,这使得它们在我看来用处不大

+1000000 x 100万。关于这一点的苹果文档令人困惑,而且似乎没有任何艺术家或程序员彼此忍受足够长的时间来解决这个问题。恕我直言,我认为你可能已经用一个普通的答案回答了你认为是一个普通的问题。这个问题并不像最初看起来的那样一般。当然,讽刺的是,应该有一套通用的步骤来回答生产工作流的这些问题,但似乎没有,而且这些步骤肯定不是。