В настоящее время я пытаюсь создать игру с космическим кораблем, в которой вы стреляете во врага, который движется к вам от верхней части экрана к нижней части экрана, и вы также пытаетесь избежать столкновения врага с вами. Мой враг не спавнится.
Это мой код появления врага:
func spawnEnemy(){
let randomXStart = random(min:gameArea.minX, max: gameArea.maxX)
let randomXEnd = random(min: gameArea.minX, max:gameArea.maxX)
let spawnPoint = CGPoint(x: randomXStart, y: self.size.height * 1.2)
let endPoint = CGPoint(x: randomXEnd, y: -self.size.height * 0.2)
let enemy = SKSpriteNode(imageNamed: "enemyShip")
enemy.setScale(1)
enemy.position = spawnPoint
enemy.zPosition = 2
self.addChild(enemy)
let moveEnemy = SKAction.move(to: endPoint, duration: 1.5)
let deleteEnemy = SKAction.removeFromParent()
let enemySequence = SKAction.sequence([moveEnemy, deleteEnemy])
enemy.run(enemySequence)
let dx = endPoint.x - spawnPoint.x
let dy = endPoint.y - spawnPoint.y
let amountToRotate = atan2(dy, dx)
enemy.zRotation = amountToRotate
}
именно здесь пусть spawnPoint = CGPoint(x: randomXStart, y: self.size.height * 1.2)
Я знаю это. Где это на экране?
это вверху экрана





Ваш враг появился, вы его не видите, потому что не установили значение size. По умолчанию это (width: 0, height: 0).
enemy.size = CGSize(width: 100, height: 100)
Кроме того, еще один способ проверить, был ли создан объект enemy, — посмотреть на количество узлов, чтобы увидеть, увеличивается ли оно после вызова функции spawnEnemy.
Для этого нужно иметь view.showsNodeCount = true.
Я добавил размер врага в свой код, но враг все равно не появляется
Но если вы установите вражеский.позиция = CGPoint.zero вы его видите?
Я все еще не вижу его, если я добавляю вражеский.position = CGPoint.zero
Где находится значение Y для spawnPoint?