【发布时间】:2018-08-18 09:24:00
【问题描述】:
我正在使用 Xcode 开发一个游戏项目。 我已经写了让飞船发射弹丸的代码,但是我不知道用什么函数来让飞船自动发射。
你能帮帮我吗?提前谢谢!
这是我的代码,来自 GameScene:
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
let projectile = SKSpriteNode(imageNamed: "projectile")
projectile.zPosition = 1
projectile.position = CGPoint(x: player.position.x, y: player.position.y)
projectile.physicsBody = SKPhysicsBody(circleOfRadius: projectile.size.width/2)
projectile.physicsBody?.isDynamic = true
projectile.physicsBody?.categoryBitMask = PhysicsCategory.Projectile
projectile.physicsBody?.contactTestBitMask = PhysicsCategory.Monster
projectile.physicsBody?.collisionBitMask = PhysicsCategory.None
projectile.physicsBody?.usesPreciseCollisionDetection = true
self.addChild(projectile)
let action = SKAction.moveTo(x: self.frame.width + projectile.size.width, duration: 0.5)
projectile.run(action, completion: {
projectile.removeAllActions()
projectile.removeFromParent()
})
}
【问题讨论】:
-
触摸开始时,您可以调用一个函数开始拍摄并每 0.x 秒重复一次。在触摸结束时,您可以使计时器无效。首先是将弹丸代码移动到它自己的函数中。
标签: swift sprite-kit sprite skaction