如何在更改精灵的纹理后调整其大小

时间:2017-08-10 06:31:36

标签: ios sprite-kit skspritenode

假设我的大小为25x25 SKSpriteNode,我将节点的.texture属性更改为大小为50x50的纹理。似乎它试图缩小新纹理以适应25x25的大小,即节点的原始大小。但是如何更改节点的大小以适应纹理的新大小,在此示例中为50x50。

简而言之,我希望我的精灵调整大小以适应新纹理的尺寸。

override func applyEffect() {
    switch(tier) {
    case 2:
        sprite.texture = SKTexture(imageNamed: "clock2")
    case 3:
        sprite.texture = SKTexture(imageNamed: "clock3")
    case 4:
        sprite.texture = SKTexture(imageNamed: "clock4")
    default:
        print("")
    }
}

谢谢!

2 个答案:

答案 0 :(得分:1)

看起来纹理错误又回来了,但有时只取决于你如何处理资产文件夹。我在Xcode 8.3.3中正在使用它,并且能够使它既工作又不工作,具体取决于它的配置方式。看起来它在Xcode 9中也被打破了。作为解决方法,在为节点分配新纹理后执行node.size = node.texture!.size()。注意:node是您要更改大小的精灵的名称。

答案 1 :(得分:0)

通过将resize参数设置为true,可以在添加新纹理时将节点设置为调整大小

 let newTexture = SKTexture(imageNamed: "someNewTexture")
 someNode.run(SKAction.setTexture(newTexture, resize: true))