Я рекомендую добавить параметр в вашу функцию createTreatNode()
.Затем измените treat.position = CGPoint(x: 1000, y: 150)
на treat.position = CGPoint(x: atXCoordinate, y: 150)
следующим образом:
func createTreatNode(atXCoordinate: Int) {
let atlas = SKTextureAtlas(named: "Treat")
let q1 = atlas.textureNamed("treat1.png")
let q2 = atlas.textureNamed("treat2.png")
let q3 = atlas.textureNamed("treat3.png")
let treatAnimation = [q1, q2, q3]
let treat = SKSpriteNode(texture: q1)
treat.position = CGPoint(x: atXCoordinate, y: 150)
print("treat position \(treat.position)")
treat.size = CGSize(width: 60, height: 50)
treat.name = "Treat"
let animate = SKAction.animate(with: treatAnimation, timePerFrame: 0.2)
let repeatAction = SKAction.repeatForever(animate)
treat.run(repeatAction)
let body = SKPhysicsBody(rectangleOf: treat.size)
body.usesPreciseCollisionDetection = true
body.affectedByGravity = false
body.collisionBitMask = 0x7FFFFFFF
body.contactTestBitMask = 0x80000000
treat.physicsBody = body
addChild(treat)
}
Таким образом, вы можете вызвать createTreatNode(atXCoordinate:)
15 раз с разными координатами x, и это добавит дочерние узлы обработки в текущую сцену с координатами xВы перешли на это.