我正在创建一个圆形精灵节点,并在非视网膜版本中获得像素化。我没有在代码中的任何地方更改精灵节点的大小。我在Photoshop
创建非视网膜版本,转到File>Save For Web>Changing
大小为50%。每个球都是50x50的PNG。
以下是我如何实例化每个球。
Ball *ball = [Ball spriteNodeWithImageNamed:@"ball"];
Ball是SKSpriteNode
子类。下面的图像是在模拟器中以100%的比例拍摄的。非视网膜图像在模拟器和物理设备中像素化。如何让这个资产看起来更干净?
Retina(“ball@2x.png”):
非视网膜(“ball.png”)
答案 0 :(得分:1)
这可能不会完全回答原始问题,因为参考的图像是50x50,但对于高度与宽度不是1:1比例的图像,首先获得实际图像的尺寸有助于并设置纹理。
你可以在Swift中这样做:
if a.employee_name == b.employee_name:
a.append(b['actual_duration'])
else:
a.append('actual_duration': 0)
如果您想要将图像大小调整50%,将使用上述内容。如果您想要完整尺寸的图片,则只需使用let image = imageAsset
let texture = SKTexture(image: image)
let factor = 0.5
let size = CGSize(width: image.size.width * factor, height: image.size.height * factor)
let node = SKSpriteNode(texture: texture, size: size)
作为image.size
的尺寸参数,而无需SKSpriteNode
变量。