2014-11-20 6 views
1

스프라이트 키트에 스프라이트 배열이 있고 업데이트 방법에서이 스프라이트가 화면 하단에 있는지 확인합니다. 그들이하는 경우, 나는 부모에게서 그들을 제거하고 나는 그들의 배열에서 그들을 제거합니다. 내가 그것이 최선의 관행이라면 그들이 내가하는 것처럼 그들이 궁금해하는 것은 무엇인가? 성능이 저하 될 것인가? 그렇다면 이것을 달성하는 가장 좋은 방법은 무엇입니까?스프라이트 키트 - 업데이트 방법 내에서 배열 내의 SKSpriteNodes를 제거하십시오

-(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]; 
} 

답변

1

당신은이 작업을 해결하기 위해 물리학의 세계에 내장 사용해야합니다

여기 내 코드입니다. 기본적으로 "바닥"을 만들고 동물이 접촉하면 동물 노드를 제거하십시오. 이 링크에서

https://stackoverflow.com/a/24195006/2494064

, 당신의 "동물" "거품"에 해당 될 것입니다. 이 대체 코드를 작성하면 코드가 작동합니다.