我正在用Swift/SpriteKit制作动画
我有一个透明背景的图像。
图像画布本身是250 x 250,内部有一个约为100x100的球的图像(因此它是一个100x100球的图像,被透明包围,因此整个画布/图像是250x 250)
当我将这个PNG拖放到xclassets中创建一个图像时,球看起来更小。
如果我拿着同一个球(只有100x100的图像,周围没有透明度)拖拽创建一个不同的图像,新图像看起来更大,球看起来更好。
透明度在搅乱这一切吗?
你知道为什么吗?
谢谢!
最佳答案
在资产目录中,Xcode尝试将整个图像放入此空间:
假设空间大小为150x150。要将250x250图像放入其中,Xcode需要将图像的比例因子调整为0.6。球原来是100x100。调整大小后,屏幕上显示为60x60(但实际上球仍为100x100)。
另一方面,您的100x100图像只有球,需要按比例因子1.5调整大小。调整大小后,您的球看起来是150x150。这就是它看起来更大的原因。
当您尝试将这些图像放入UIImageView
时,也会发生同样的情况。
但如果使用这两个图像作为精灵的纹理,则球在屏幕上都将显示为100x100。这是因为精灵的大小将自动调整以适应纹理的大小,而无需您执行任何操作。