0
func bombTowerTurnShoot() {
let zombieGreen = self.childNode(withName: "zombie") as! SKSpriteNode
self.enumerateChildNodes(withName: "bomb tower") {
node, stop in
if let bombTower = node as? SKSpriteNode {
let angle = atan2((zombieGreen.position.x) - bombTower.position.x, (zombieGreen.position.y) - bombTower.position.y)
let actionTurn = SKAction.rotate(toAngle: -(angle - CGFloat(Double.pi/2)), duration: 0.2)
bombTower.run(actionTurn)
}
}
}
私の問題は、アングルラインにあります。シーンにzombieGreensがないときに関数を呼び出すと、スレッド1の問題が発生します。ゾンビが存在しないときにコードを変更するにはどうすればよいですか?Swift SpriteKitアンラッピングとラッピング
私たちは**の代わりに**を使用します。 !その間にアンラップを強制するでしょうか?アンラップする前に値が何か他のものでないかどうかをチェックします。もしそれが無ければ、それは展開されず、クラッシュしません。この値に依存するコードの後に何かがある場合を除きます。 If letステートメントを使用するには、使用する必要がありますか? (私はほぼ100%確信している、私が間違っている場合は私を修正する) –