【发布时间】:2017-01-22 06:54:39
【问题描述】:
我无法弄清楚如何为 SKTexture 纹理应用 mipmap。我将 XCode 8.2.1 与 Swift 一起使用。
这是我的方法:
override func sceneDidLoad() {
logo = childNode(withName: "logo") as! SKSpriteNode
let texture: SKTexture! = SKTexture.init(imageNamed: "logo")
texture.usesMipmaps = true
logo.texture = texture
}
我使用示例图片 png 512*512 大小(锅都) 全尺寸它看起来像这样:
然后我想把它的大小减小到 128*128 像素
它们看起来都一样。所以我认为 mipmaps 不适用。请帮助我,我已经花了 3 天时间试图解决这个问题。
更新: 正如Confused 告诉我的那样,我在代码中完成了所有工作。创建启用 mipmaping 的纹理,将其分配给 SKSpriteNode,然后通过 scale 方法或操作执行缩放。
let texture = SKTexture.init(imageNamed: "logo")
texture.usesMipmaps = true
logo = SKSpriteNode.init(texture: texture)
logo.position = CGPoint(x: 0, y: 0)
self.addChild(logo)
//logo.scale(to: CGSize(width: 128, height: 128))
let scaleAction = SKAction.scale(to: CGSize(width: 128, height: 128), duration: 1)
logo.run(scaleAction)
【问题讨论】:
-
你是对的。它们完全相同。我将它们放入 Photoshop 并进行了差异混合。没有 mipmapping 的那个是屏幕截图中它应该在的左侧一个像素,但是一旦更正,它们是相同的。
标签: ios sprite-kit mipmaps sktexture