Ios 当精灵离开屏幕时移除它
我有一个精灵在屏幕上从左向右移动,当它离开屏幕时就不会回来了。哪里是解除分配的最佳地点?在-update方法中?还是 是,它只能添加到更新方法中。因为Sprite工具包将为每个帧自动调用Ios 当精灵离开屏幕时移除它,ios,objective-c,sprite-kit,Ios,Objective C,Sprite Kit,我有一个精灵在屏幕上从左向右移动,当它离开屏幕时就不会回来了。哪里是解除分配的最佳地点?在-update方法中?还是 是,它只能添加到更新方法中。因为Sprite工具包将为每个帧自动调用更新:方法 您可以使用didSimulatePhysics方法。它在update方法之后被调用。我们可以确保更新方法中需要完成的所有工作都已完成,然后清理对象或循环遍历对象,并确定哪些对象需要删除 - (void)didSimulatePhysics { [self removeAllObstacle
更新:
方法 您可以使用didSimulatePhysics方法。它在update方法之后被调用。我们可以确保更新方法中需要完成的所有工作都已完成,然后清理对象或循环遍历对象,并确定哪些对象需要删除
- (void)didSimulatePhysics {
[self removeAllObstacles];
}
- (void)removeAllObstacles {
[blocks removeAllChildren];
[gameLayer enumerateChildNodesWithName:@"baddies" usingBlock:^(SKNode *node, BOOL *stop) {
if (node.position.x < - 100)
[node removeFromParent];
}];
}
-(void)模拟物理{
[自我移除障碍];
}
-(无效)移除所有障碍物{
[积木移除所有儿童];
[游戏玩家使用block:^(SKNode*node,BOOL*stop)枚举名为@“坏人”的儿童节点{
if(节点位置x<-100)
[节点从父节点移除];
}];
}
嘿,你如何检查精灵是否离开屏幕,通过不断检查其在更新中的位置:?(这与你的问题无关!)还有其他(更有效的)方法吗?这种方法似乎效率不高。。。没有别的办法吗?