Dalam permainan saya, saya ingin musuh muncul setiap 10 detik. Saya mencoba mencapai ini dengan, di GameViewController, menulis
var secondEnemyTimer = NSTimer.scheduledTimerWithTimeInterval(10.0, target: self, selector: "secondEnemyFunction", userInfo: nil, repeats: false)
dalam metode viewWillLayoutSubviews. Kemudian di fungsi musuh kedua saya menulis:
let skView = self.view as! SKView
let gameScene = GameScene(size: skView.bounds.size)
gameScene.enemy2Function()
Kemudian di musuh2Function di kelas GameScene saya menulis:
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
Di log "Dipanggil!" muncul namun musuh belum muncul. Asal tahu saja, saya menciptakan musuh di kelas teratas dengan melakukan:
let enemy2 = SKSpriteNode(imageNamed: "enemy")
Adakah yang tahu bagaimana saya bisa menelurkan musuh kedua saya? Terima kasih sebelumnya!
-Vinny