gpt4 book ai didi

swift - 过滤快速用户触摸输入

转载 作者:行者123 更新时间:2023-11-28 06:18:47 25 4
gpt4 key购买 nike

我正在用 sprite-kit 和 swift 编写一个应用程序,当您触摸屏幕时,一个 Sprite (玩家)向另一个朝它移动的 Sprite throw 弹丸。如果玩家击中另一个 Sprite ,则射弹和 Sprite 都会消失。游戏的一个问题是,如果玩家快速触摸屏幕,他可以很容易地提高他在游戏中的分数。我怎样才能让代码只识别屏幕每隔 0.3 秒被触摸一次?

最佳答案

在 SpriteKit/GameplayKit 游戏中,您的大部分代码都在一个游戏循环中运行,在这个循环中您不断地传递当前时间。这就是 SKScene 中的这个函数:

override public func update(_ currentTime: TimeInterval) {
}

在这里,跟踪时间和启用/禁用事物是很常见的。为简单起见:

  1. 添加以下变量

    var firingEnabled = true
    var enableFiringAtTime: TimeInterval = 0
    var currentTime: TimeInterval = 0
  2. 当他们开火时,添加这段代码

    if firingEnabled {
    firingEnabled = false
    enableFiringAtTime = self.currentTime + 0.3
    // your fire code here
    }
  3. 并在更新覆盖

    self.currentTime = currentTime
    if currentTime > enableFiringAtTime {
    firingEnabled = true
    }

关于swift - 过滤快速用户触摸输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44314815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com