1

건물 클래스를 자신의 클래스로 선언했습니다.이 건물의 인스턴스를 게임 레이어에 추가하고 NSMutableArray allBuilddings에도 추가합니다.이 모든 건물에는 CGRect가 합성되어 있습니다 그리고 클래스 파일에서 선언했다. 내 질문은 allBuildings 배열에있는 모든 건물의 CGRects에 액세스하여 배열의 개별 건물에 액세스하지 않고 충돌에 사용하는 방법이다.Cocos2d NSMutableArray에서 객체의 CGRect 속성에 액세스하기

답변

0

모음 연산자 @unionOfObjects을 사용하여 모든 rect 배열을 가져올 수 있습니다. 그들은 NSValue 개체에 저장됩니다. 예를 들어 나는 당신의 속성이 rect라고한다고 가정 : 다음

NSArray* rects= [allBuildings valueForKeyPath: @"@unionOfObjects.rect"]; 

당신은 배열을 이런 식으로 반복 :

for(NSValue* value in rects) { 
    CGRect rect= value.CGRectValue; 
    <...> 
} 
+0

확인 내가 .. 난 개념을 이해 추측이 내가' 을 한 것입니다 NSArray * verticalArray = [allBuildings valueForKey : @ "@ unionOfObjects.vertical1"]; '세로가 직사각형입니다.하지만 충돌을 위해 사용하려고 할 때 '(verticalArray의 CGRect * vert1) ' 나 에로 r은 CGRect가 유효한 객체가 아니라고 말했습니다. –

+0

rect의 배열을 반복하는 방법에 대한 설명을 추가했습니다. –

+0

응용 프로그램이이 오류로 인해 '이 클래스는 키 값과 호환되지 않습니다.'라는 오류가 발생합니다. 올바른 속성을 사용하고 있고 모든 건물이이 속성을 사용하고 있습니다. 충돌 확인을해야합니다. 각 개별적으로 .. 당신의 도움을 주셔서 감사합니다 –

관련 문제