碰撞后如何阻止分数上升超过 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 {
}
}
}
创建一个愤怒的小鸟类型的项目,我让球飞向目标,碰撞后目标消失,但当球从子视图中移除后,当球在目标框架内时,分数持续上升。
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 {
}
}
}