碰撞后如何阻止分数上升超过 1?

How do I stop score going up by more than one after collision?

创建一个愤怒的小鸟类型的项目,我让球飞向目标,碰撞后目标消失,但当球从子视图中移除后,当球在目标框架内时,分数持续上升。

  let enemy1 = UIImageView(image: nil)
        enemy1.image = UIImage(named: "enemy2.png")
        enemy1.frame = CGRect(x: w*0.85, y: h*0.035, width: w*0.12, height: h*0.22)
        self.view.addSubview(enemy1)



 collisionBehaviour.action = {
        for boulderView in self.bouldersArray{
            if boulderView.frame.intersects(enemy1.frame){
                enemy1.removeFromSuperview()
                self.scoreCount += 1
                self.scoreCountLabel.text = "Score: \(self.scoreCount)"

一种方法是检查 enemy1 视图是否仍然存在:

collisionBehaviour.action = {
                if enemy1.superview != nil {
                    //your code
                    for boulderView in self.bouldersArray {
                    }
                }
        }