精灵在swift中触摸2秒后执行动作?

时间:2016-04-08 04:56:39

标签: ios

如果精灵在接触特定时间后而不是立即发生碰撞时如何执行操作?

1 个答案:

答案 0 :(得分:0)

我假设您有一些帧更新方法,每个帧都会被调用,您也可以计算从那时起经过的时间(秒)。然后,您可以执行以下操作:

  1. 设置名为contactInProgress的标志变量,设置为false
  2. 设置名为contactDuration的计数器变量,将其设置为0.0
  3. 检测到碰撞时,请将contactInProgress设为true,将contactDuration设为0.0
  4. 当您不再检测到碰撞时,请将contactInProgress设置为false并将contactDuration重置为0.0
  5. 在帧更新方法中,检查contactInProgress是否为true。如果是这样,请通过添加自上一帧以来经过的时间来更新contactDuration的值。最后,检查contactDuration是否大于或等于2.0。如果是这样,做你的事。