gpt4 book ai didi

ios - 非视网膜 SKSpriteNode 纹理像素化

转载 作者:行者123 更新时间:2023-11-29 03:11:44 24 4
gpt4 key购买 nike

我正在创建一个圆形 Sprite 节点并在非视网膜版本中进行像素化。我没有在代码中的任何地方更改 Sprite 节点的大小。我正在 Photoshop 中创建非视网膜版本,方法是转到 File>Save For Web>Changing 大小为 50%。每个球都是 50x50 PNG。

下面是我如何实例化每个球。

Ball *ball = [Ball spriteNodeWithImageNamed:@"ball"];

Ball 是 SKSpriteNode 的子类。下面的图像是在模拟器中以 100% 比例拍摄的。非视网膜图像在模拟器和物理设备中被像素化。我怎样才能让这个 Assets 看起来更干净?

视网膜(“ball@2x.png”): retina

非视网膜(“ball.png”)nonretina

最佳答案

这可能无法准确回答原始问题,因为引用的图像是 50x50,但对于高宽比不是 1:1 的图像,首先获取实际图像的尺寸并设置纹理。

你可以在 Swift 中这样做:

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)

如果你想将图像大小调整 50%,将使用上面的方法。如果你想要全尺寸图像,你只需使用 image.size 作为 SKSpriteNode 的大小参数,而不需要 factor 变量.

关于ios - 非视网膜 SKSpriteNode 纹理像素化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22182498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com