ios - 碰撞后如何阻止分数增加一以上?

标签 ios swift collision

创建一个愤怒的小鸟类型的项目,我让球飞向目标,碰撞后目标消失,但当球位于目标框架中时,即使从 subview 中删除,分数也会持续上升。

  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)"

最佳答案

一种方法可能是检查敌人1 View 是否仍然存在:

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

关于ios - 碰撞后如何阻止分数增加一以上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59391850/

相关文章:

ios - 在 Swift 应用程序中使用数据库来管理志愿者

ios - 跟踪点击到应用安装?

swift - 核心数据从日志中单独显示属性

ios - OpenURL 无法打开某些非常具体的 URL 并显示错误 "Download Failed"

ios - Facebook 无法在 app swift 3 中打开页面

swift - Sprite 套件碰撞不起作用

c++ - SDL 冲突处理

javascript - 检查大量对象的碰撞 JS

iphone - 从 Facebook 同步获取电话号码/"Unified Info"地址簿联系人

ios - 以编程方式定位 UITableView