【发布时间】:2015-09-20 17:11:55
【问题描述】:
所以我有一个游戏,你需要射击敌人。当 touchesBegan 子弹从你的手指下射出,当 touchesEnded 时——它会向敌人开火。我用 SKActions 做到了。它运行良好,直到游戏结束。我没有特别的场景,它只是一个带有按钮的节点。但是当它出现时,SKActions 对子弹和敌人仍然是通过触摸运行的。我想在游戏结束时禁用它们并且不知道该怎么做。例如,我创造的一个敌人是这样的:
func addMiddleHeart() {
middleheart = SKSpriteNode(imageNamed: "redh")
middleheart.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMaxY(self.frame) + 100)
middleheart.zPosition = 1
middleheart.physicsBody = SKPhysicsBody(circleOfRadius: middleheart.size.width / 2)
middleheart.physicsBody?.dynamic = true
middleheart.physicsBody?.categoryBitMask = PhysicsCategory.MiddleHeart
middleheart.physicsBody?.contactTestBitMask = PhysicsCategory.Arrow
middleheart.physicsBody?.collisionBitMask = PhysicsCategory.None
addChild(middleheart)
let moveToPoint = SKAction.moveTo(CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame) + leftHeart.size.height * 1.5), duration: 0.5)
SKActionTimingMode.EaseOut
middleheart.runAction(moveToPoint)
}
override func didMoveToView(view: SKView) {
runAction(SKAction.runBlock(addMiddleHeart))
}
【问题讨论】:
标签: sprite-kit skaction