我想做这样的事情:
for i in 0...3 {
let skspritenode\(i) = SKSpriteNode(imageNamed: "Layer_\(i)")
self.addChild(skspritenode\(i))
}
这是行不通的,因为我的skspritenode(i)是let而不是字符串,我试过这个:
for i in 0...3 {
let skspritenode = SKSpriteNode(imageNamed: "Layer_\(i)")
self.addchild(skspritenode)
}
这不起作用,因为skspritenode已经有父。
有没有办法在for循环中执行此操作,还是我必须单独声明每个let?先谢谢你
为什么需要以不同的方式命名每个节点? skspritenode
变量在for
循环中作用域,因此以下代码应该可以正常工作:
for i in 0...3 {
let skspritenode = SKSpriteNode(imageNamed: "Layer_\(i)")
self.addchild(skspritenode)
}
你的观点
这不起作用,因为skspritenode已经有父
是不正确的,因为您在每次迭代时都在创建新的SKSpriteNode。