Ios Spritekit纹理图集裁剪/透明度问题

Ios Spritekit纹理图集裁剪/透明度问题,ios,sprite-kit,texture-atlas,Ios,Sprite Kit,Texture Atlas,据我所知,创建地图集时,图像为: 旋转的 b修剪过多的透明像素 c颜色格式可能会改变,等等 因此,如果我有一个50像素高的图像,但只有图像的顶部是纯色,底部是完全透明的。该图像将以25像素的高度存储在地图集中,透明像素将被丢弃 我很难理解的是 当您从atlas向屏幕显示此图像时,会发生什么情况 在原始图像的高度降低到25像素之前,我应该取回它的精确副本吗 在Xcode 6.x及以下版本中,似乎会发生这样的情况: 如果我在xcode 6中用这个图像填充整个屏幕,在顶部是50%纯色,在底部是50%t

据我所知,创建地图集时,图像为:

旋转的

b修剪过多的透明像素

c颜色格式可能会改变,等等

因此,如果我有一个50像素高的图像,但只有图像的顶部是纯色,底部是完全透明的。该图像将以25像素的高度存储在地图集中,透明像素将被丢弃

我很难理解的是

当您从atlas向屏幕显示此图像时,会发生什么情况

在原始图像的高度降低到25像素之前,我应该取回它的精确副本吗

在Xcode 6.x及以下版本中,似乎会发生这样的情况:

如果我在xcode 6中用这个图像填充整个屏幕,在顶部是50%纯色,在底部是50%trasnparent,我会看到屏幕的上半部分是纯色,底部是透明的。 如果我使用最新的SDK做同样的事情,屏幕顶部25%是透明的,中间50%是纯色,底部25%是透明的

我不知道透明像素是否被添加回图像中,我是否真的在处理我现在在图集中看到的完全相同的图像,或者我从图集中得到的图像是否是我的图像,透明空间平均返回到每一侧,而不是在一侧或另一侧

我真的很想知道现在发生了什么,它看起来像一个bug

我知道很多人建议在透明空间的角落使用1%的alpha像素,以确保图像按他们想要的方式返回,但我不认为这是一个好的解决方案。如果你看得足够仔细,可以使atlas图像变大,1%的像素可见


有人能告诉我这是否是一个bug吗?如果我的所有图像下面都有透明像素,那么为什么现在返回的图像都位于宽度x高度框的底部?

为什么一开始会有这样的图像50%图像-50%透明?如果您需要在顶部/底部或侧面设置缓冲区,只需相应地放置节点即可。您所指的最新SDK是什么?如果你放入一个50 x 50的透明图像,你应该得到一个50 x 50,除非你做得不正确或者确实有错误。我不建议使用1%的alpha。您应该提供一个示例/示例项目maybe Dropbox链接,与您所询问的问题相关。50x50的精确测量是虚构的,但是我首先需要这样的图像,即通过重叠单个图像来创建各种对象。我可以按照您的建议更改每个节点的位置,但这需要我为每个层保留一个位置表。。。这比简单地将大小完全相同的多个图像重叠起来并在每个图像中进行缓冲要多得多。关于SDK,我的意思是说最新的xcode 7,而Skyler您所说的正是我认为事情应该如何运作的。