0
我把几SKSpriteNode在SKSPriteNode阵列didMove(查看:SKView)使用SKSpriteNode在阵列更改图像
enumerateChildNodes(withName: "//*") { (node, stop) in
if let spriteNode = node as? SKSpriteNode{
if let nodeName = node.name{
if nodeName.hasSuffix("Button"){
self.buttons.append(spriteNode)
}
}
}
}
和现在使用的从我的NSCoding我想改变我的按钮图像
for node in self.buttons{
if let name = node.name{
if name.hasSuffix("Button"){
let letter = name.replacingOccurrences(of: "Button", with: "", options: .regularExpression)
if let number = self.gameResult[letter]{
switch number{
case 1:
node = SKSpriteNode(imageNamed: "\(letter)Button-Bronze")
case 2:
node = SKSpriteNode(imageNamed: "\(letter)Button-Silver")
case 3:
node = SKSpriteNode(imageNamed: "\(letter)Button-Gold")
default:
node = SKSpriteNode(imageNamed: "\(letter)Button-Bronze")
}
}
}
}
}
结果
看起来阵列中的所有节点都是let,我无法更改我的SKSpritNode按钮中的图像。
我该怎么做?
你能帮我吗?
谢谢。新阵列似乎是我的问题的超级解决方案。关于enumaratechildNodes我试过,但spriteNode为? SKSpriteNode也可以。你会如何做到这一点在enumarate?感谢你的帮助 – mamaz
你可以把'var myNode = spriteNode'(假设'spriteNode'是枚举变量)给你自己一个可变的spritenode。 –
令人惊叹!像魅力一样工作。超。非常感谢你 – mamaz