我遇到了这个问题而不是写这个:
let enemy1 = SKSpriteNode(imageNamed: "enemy")
let enemy2 = SKSpriteNode(imageNamed: "enemy")
let enemy3 = SKSpriteNode(imageNamed: "enemy")
一遍又一遍地树敌一千,我只会做一个这样的 for 循环:
for i in 1...1000{
let enemy(i) = SKSpriteNode(imageNamed: "enemy")
}
但正如您所知,仅执行 enemy(i) 是行不通的。 如果您知道这个问题的答案或者可以通过建议任何其他技术以任何方式帮助我,请回复。 任何帮助将不胜感激:)
最佳答案
for语句是这样的:
for value in range {
statements
}
我写了一个简单的例子:
正如@ColGraff 提到的那样。对于敌人的名字,你可以这样编码:SKSpriteNode(imageNamed: "enemy\(i)")
。但不是作为变量的名称。
var enemy = [SKSpriteNode]()
for _ in 1...1000 {
enemy.append(SKSpriteNode(imageNamed: "enemy"))
// or use this:
// enemy[i] = SKSpriteNode(imageNamed: "enemy")
}
关于swift - 在 for 循环中与 i 相比命名 Sprites(swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44733283/