Ios 如何在Swift 3/SpriteKit中限制球的轻拍?

Ios 如何在Swift 3/SpriteKit中限制球的轻拍?,ios,sprite-kit,swift3,Ios,Sprite Kit,Swift3,因此,我正在创建一个游戏,玩家在分配给他们的时间内轻拍一个随机出现的球,我想将轻拍限制在一定的数量。如果有人有一些想法或代码片段,我将不胜感激 以下是一个片段: var tapCount = 0 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){ tapCount = tapCount + 1 print(tapCount) if tapCount >

因此,我正在创建一个游戏,玩家在分配给他们的时间内轻拍一个随机出现的球,我想将轻拍限制在一定的数量。如果有人有一些想法或代码片段,我将不胜感激

以下是一个片段:

 var tapCount = 0

 override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?){

  tapCount = tapCount + 1
    print(tapCount)

    if tapCount >= 10 {

        print("we made it")


    }
}
var-tapCount=0
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
tapCount=tapCount+1
打印(抽头计数)
如果tapCount>=10{
打印(“我们成功了”)
}
}

每个球都应该有一些相关实体(GK实体)。实体可以有一个名为tapCount的属性,您可以为每个tap增加该值。当点击次数达到限制时,您可以停止接受点击。

您可以制作一个计数器,每当检测到触摸时计数器都会更新。例如:

var touchesThisRound : Int = 0;

override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!)
{
   touchesThisRound+=1;
}

然后每轮重置一次。

如果我更改touchesThisRound+=10,这意味着用户只能点击10次?不,您需要一个类似“let maxTouchs:Int=10;”的变量然后,您可能需要在touchestarted中使用if语句,该语句仅在touchesthishand@Mike看起来不错时才执行操作,如果“我们做到了”,您的意思是用户使用了他们所有的触摸!对但是,当我在我的触摸中编写代码时,我开始声明我的变量。它没有任何作用。我想做的就是当他们点击10次时停止游戏,然后进入下一个级别。然后你需要在一个函数中编写逻辑,然后在touchseand==10时调用touchseand中的函数。你能看看我更新的问题吗,如果我做得对的话,我想你需要阅读如何将GKEntity与SKSpriteNode结合使用。如果我今天有时间,我可以试着写一个小样本,但现在很难。苹果有一些好的样品。你也可以阅读苹果的文档: