【发布时间】:2016-04-22 10:22:47
【问题描述】:
我有一个方法可以创建一个在屏幕上移动的对象,我多次运行这个方法来生成很多对象,但我现在不能做的是在需要时删除它们。我试过了
childNodeWithName("monster")?.removeFromParent()
但这不起作用,他们仍然完成了他们的行动。方法是这样的
func spawn() {
let ran = Int(arc4random_uniform(1400));
var monster = SKSpriteNode(imageNamed: "spike")
monster = SKSpriteNode(texture: text)
monster.position = CGPoint(x: ran, y: 800);
monster.zPosition = 1;
monster.physicsBody = SKPhysicsBody(texture: text, size: text.size())
monster.physicsBody?.categoryBitMask = PhysicsCategory.Monster
monster.physicsBody?.contactTestBitMask = PhysicsCategory.Player
monster.physicsBody?.collisionBitMask = 0
monster.physicsBody?.dynamic = false
monster.name = "monster"
self.addChild(monster);
let move = SKAction.moveTo(CGPointMake(monster.position.x, -100), duration: 1.5);
let remove = SKAction.runBlock { () -> Void in
monster.removeFromParent()
self.score += 1
}
monster.runAction(SKAction.sequence([move,remove]))
}
如何在需要时一次删除每个“怪物”节点?
【问题讨论】:
标签: sprite-kit