ios - 离开屏幕后删除节点

标签 ios xcode macos sprite-kit

这是一个新手问题。我试图在屏幕掉落后删除节点“岩石”。这是我在添加了节点的 GameScene.m 中应用的内容。

    -(void)update:(CFTimeInterval)currentTime {
[self enumerateChildNodesWithName:@"rock" usingBlock:^(SKNode *node, BOOL *stop) {
    if (node.position.y < 0) {
        [node removeFromParent];
    }
}];

这看起来不错,但是我得到了错误:

由于未捕获的异常“NSGenericException”而终止应用程序,原因:“* 集合 <__NSArrayM: 0x608000046360> 在枚举时发生了变异。”

我知道这意味着什么,但我还能如何删除节点?

上下文:我正在关注 Sprite Kit Programming Guide来自 Apple。

最佳答案

您可以在节点上运行删除操作:

[node runAction:[SKAction removeFromParent]];

关于ios - 离开屏幕后删除节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24706715/

相关文章:

iOS 应用程序文本看起来更大已通过使用启动屏幕修复

xcode - Embarcadero RAD Studio/FireMonkey 可以与 XCode 5 配合使用吗?

xcode - OS X 糟糕的协同设计应用程序仍然没有警告地启动

macos - 如何使用预先分配的 malloc 存储来分配 NSTextStorage

ios - Xcode Storyboard 问题 - 按钮栏按钮仅出现在 TableViewController 的底部

ios - 如何在带有 cornerRadius 的 UIView 上绘制 1 像素宽的平滑边框?

ios - 为什么 'Pie Slice' 中的斜线无法使用 UIBezierPath 正确绘制?

ios - TableViewCell(s) 可以有不同的高度吗?

iphone - 如何在我的 iPhone 应用程序中使用日历?

macos - 查找 AppleScript 应用程序的 Apple 标识符