我想做这样的事情:
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吗?谢谢高级
答案 0 :(得分:1)
为什么要用不同的名称命名每个节点? skspritenode
变量的作用域为for
循环,因此以下代码应该可以正常工作:
for i in 0...3 {
let skspritenode = SKSpriteNode(imageNamed: "Layer_\(i)")
self.addchild(skspritenode)
}
您的观点
不起作用,因为skspritenode已经有一个父对象
不正确,因为您在每次迭代中都创建了新的SKSpriteNode。