ios - 如何对 Sprite 工具包中的整个类别位掩码应用脉冲

标签 ios objective-c sprite-kit

我有一个游戏,它不断地产生许多沿着屏幕移动的鸟。它们受重力影响,所以我想每隔半秒对鸟儿施加一个冲动以产生拍打效果。问题是我只能对最后一只产卵的鸟施加冲动。如何对整个类别位掩码应用脉冲?

最佳答案

正如@Andy 所指出的,您应该将鸟存储在一个数组中。

方法一 创建一系列将永远重复的 Action 。顺序应该是:

  1. 等待 0.5 秒(SKAction)
  2. 遍历数组并对每个项目应用脉冲(SKAction 需要 runBlock:)

runBlock: 是一个“自定义”SKAction,允许您与序列同步触发代码。

方法二 创建一个 NSTimeInterval* timeSinceLastImpulse

Update:(NSTimeInterval*)timeSinceLast
{
    timeSinceLastImpulse+=timeSinceLast;
    if(timeSinceLastImpulse >= .5)//check if it has been half a second
    {
        //run through array and apply impulse
        timeSinceLastImpulse = 0;
    }
}

希望这些选项能让您朝着正确的方向前进!

关于ios - 如何对 Sprite 工具包中的整个类别位掩码应用脉冲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27280596/

相关文章:

ios - 有没有办法在发生某些事情后停止 touches 方法?

ios - Fabric 数据与 iTunes Connect 数据不同

ios - iOS 7 UIAlertView按钮不可见

ios - 如何清除/清零用于通过串行端口接收字符的 NSMutableString?

swift - 尝试加载 skspritenode 两次后应用程序崩溃?

swift - 在 Xcode 6 中工作的代码不适用于 Xcode 7

ios - 快速浏览 UITableView 中的文本字段

ios - UIAlertController 上的 UITapGestureRecognizer 未触发

iphone - 带事件指示器的 UITableView

objective-c - 如何在没有 key 的情况下使用 NSSortDescriptor