Objective c 精灵套件移除阵列内的精灵节点-更新方法

Objective c 精灵套件移除阵列内的精灵节点-更新方法,objective-c,arrays,sprite-kit,skspritenode,skphysicsbody,Objective C,Arrays,Sprite Kit,Skspritenode,Skphysicsbody,我在精灵工具包中有一组精灵,在我的更新方法中,我检查这些精灵是否从屏幕底部掉落。如果他们这样做了,我会从他们的父对象中删除他们,并从他们的数组中删除他们。我想知道的是,如果这是最佳实践,他们是否会像我这样做?这会降低性能吗?如果是这样,实现这一目标的最佳方式是什么 这是我的密码: -(void)update:(CFTimeInterval)currentTime { // Detect when animals fall off bottom of screen NSMutable

我在精灵工具包中有一组精灵,在我的更新方法中,我检查这些精灵是否从屏幕底部掉落。如果他们这样做了,我会从他们的父对象中删除他们,并从他们的数组中删除他们。我想知道的是,如果这是最佳实践,他们是否会像我这样做?这会降低性能吗?如果是这样,实现这一目标的最佳方式是什么

这是我的密码:

 -(void)update:(CFTimeInterval)currentTime {

     // Detect when animals fall off bottom of screen
NSMutableArray *animalsToDiscard = [NSMutableArray array];
for (SKSpriteNode* node in animalsArray) {
    if (node.position.y < -node.size.height) {

        NSLog(@"Remove Animal - Lose Life");
        [node removeFromParent];
        [animalsToDiscard addObject:node];
    }
}
[animalsArray removeObjectsInArray:animalsToDiscard];
}
-(void)更新:(CFTimeInterval)currentTime{
//当动物从屏幕底部跌落时检测
NSMutableArray*animalsToDiscard=[NSMutableArray];
for(animalsArray中的SKSpriteNode*节点){
if(节点位置y<-节点大小高度){
NSLog(“移除动物-失去生命”);
[节点从父节点移除];
[animalsToDiscard添加对象:节点];
}
}
[animalsArray removeObjectsInArray:animalsToDiscard];
}

您应该使用内置的物理世界来帮助解决此任务。基本上,你会建立一个“地板”,如果你的动物接触到它,移除动物节点

在这个链接中,你的“动物”将相当于“泡沫”。如果进行替换,代码将起作用