缩小图像时,圆周围会变得像素化。
嵌入的圆形图像的半径为100像素。 (圆圈是白色的,所以点击空白区域,你会得到图像。)使用SpriteKit按比例缩小会使边框变得非常模糊和像素化。如何在SpriteKit中放大/缩小并保留清晰的边框?目标是使用圆形基础图像,并使用这一个基本图像创建不同大小的圆形图像。
// Create dot
let dot = SKSpriteNode(imageNamed: "dot50")
// Position dot
dot.position = scenePoint
// Size dot
let scale = radius / MasterDotRadius
println("Dot size and scale: \(radius) and \(scale)")
dot.setScale(scale)
dot.texture!.filteringMode = .Nearest
答案 0 :(得分:3)
您似乎应该使用SKTextureFilteringLinear
代替SKTextureFilteringNearest
:
SKTextureFilteringNearest:
使用纹理中最近的点绘制每个像素。这种模式 更快,但结果通常是像素化的。
SKTextureFilteringLinear:
通过使用多个纹素的线性过滤器绘制每个像素 质地。此模式可以产生更高质量的结果,但可能会更慢。
你可以使用SKShapeNode,它可以在缩放动画时表现更好,但是当使用SKSpriteNode和图像时,最终结果(当点缩放到某个值时)将几乎像素化。