ในเกมของฉัน ฉันต้องการให้ศัตรูเกิดทุกๆ 10 วินาที ฉันพยายามทำสิ่งนี้ให้สำเร็จโดยการเขียนใน GameViewController
var secondEnemyTimer = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: "secondEnemyFunction", userInfo: nil, repeats: false)
ในเมธอด viewWillLayoutSubviews จากนั้นใน SecondEnemyFunction ฉันเขียน:
let skView = self.view as! SKView
let gameScene = GameScene(size: skView.bounds.size)
gameScene.enemy2Function()
จากนั้นในฟังก์ชั่นของศัตรู 2 ในคลาส GameScene ฉันเขียน:
println("Called!")
enemy2.name = enemyCategoryName
enemy2.size.width = 57
enemy2.size.height = 57
let randomX = randomInRange(Int(CGRectGetMinX(self.frame)), hi: Int(CGRectGetMaxX(self.frame)))
let randomY = randomInRange(Int(CGRectGetMinY(self.frame)), hi: Int(CGRectGetMaxY(self.frame)))
let randomPoint = CGPoint(x: randomX, y: randomY)
enemy2.position = randomPoint
self.addChild(enemy2)
enemy2.physicsBody = SKPhysicsBody(circleOfRadius: enemy1.size.width / 2)
enemy2.physicsBody?.friction = 0
enemy2.physicsBody?.restitution = 1
enemy2.physicsBody?.linearDamping = 0
enemy2.physicsBody?.allowsRotation = false
enemy2.physicsBody?.applyImpulse(CGVectorMake(50, -50))
enemy2.physicsBody?.categoryBitMask = enemyCategory
ในบันทึก "โทรแล้ว!" ปรากฏแต่ศัตรูยังไม่เกิด เพียงเพื่อให้คุณรู้ว่าฉันสร้างศัตรูที่ด้านบนสุดของชั้นเรียนโดยทำ:
let enemy2 = SKSpriteNode(imageNamed: "enemy")
ไม่มีใครรู้ว่าฉันจะวางไข่ศัตรูคนที่สองได้อย่างไร? ขอบคุณล่วงหน้า!
-วินนี่