2017-08-10 119 views
1

假设我有一个尺寸为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("") 
    } 
} 

谢谢!

+0

我需要更多的信息,这是什么质地,是1X,2X,或3X图片? – Knight0fDragon

+0

我相信这是一个1倍的图像。这是一个.png保存在我的Assets.xcassets – Brejuro

+1

进入你的xcassets并点击图片,它会告诉你 – Knight0fDragon

回答

1

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

0

您可以设置节点来调整,当你添加新的纹理,通过调整大小参数设置为true

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