如何在更改纹理后调整精灵的大小
How to resize a sprite after changing it's texture
假设我的尺寸为 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("")
}
}
谢谢!
看起来纹理错误又回来了,但只是有时取决于你如何处理你的资产文件夹。我在 Xcode 8.3.3 中玩这个,并且能够根据它的配置方式让它工作和不工作。看起来它也在 Xcode 9 中损坏了。作为解决方法,在为节点分配新纹理后执行 node.size = node.texture!.size()
。注意:node
是您要改变大小的精灵的名称。
您可以将节点设置为在添加新纹理时调整大小,方法是将调整大小参数设置为 true
let newTexture = SKTexture(imageNamed: "someNewTexture")
someNode.run(SKAction.setTexture(newTexture, resize: true))
假设我的尺寸为 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("")
}
}
谢谢!
看起来纹理错误又回来了,但只是有时取决于你如何处理你的资产文件夹。我在 Xcode 8.3.3 中玩这个,并且能够根据它的配置方式让它工作和不工作。看起来它也在 Xcode 9 中损坏了。作为解决方法,在为节点分配新纹理后执行 node.size = node.texture!.size()
。注意:node
是您要改变大小的精灵的名称。
您可以将节点设置为在添加新纹理时调整大小,方法是将调整大小参数设置为 true
let newTexture = SKTexture(imageNamed: "someNewTexture")
someNode.run(SKAction.setTexture(newTexture, resize: true))