0
내 스프라이트의 좌표를 배열로 만들 필요가있다. 스프라이트가 배열에서 좌표를 가지면 좌표를 제거하고 싶다. 다른 스프라이트를 원하지 않기 때문이다. 같은 좌표, 나는 그것을 작동시킬 수없는 것, 오류가없고 디버깅 할 때 nsexception과 종료라고합니다. 내가 뭘 잘못하고 배열을 할당 취소합니까? 내가 dealloc에서 그것들을 릴리즈 할 때 선언 할 필요가 있다고 말합니다.배열에서 정수를 제거
CGPoint cg1 = CGPointMake(33,33);
NSValue *cg1obj = [NSValue valueWithCGPoint:cg1];
CGPoint cg2 = CGPointMake(33,97);
NSValue *cg2obj = [NSValue valueWithCGPoint:cg2];
NSMutableArray *numberxy = [[NSMutableArray alloc] init]; int pointcount = 0;
[numberxy insertObject:cg1obj atIndex:pointcount++];
[numberxy insertObject:cg2obj atIndex:pointcount++];
NSMutableArray *sprites = [[NSMutableArray alloc] init]; int spritecount = 0;
[sprites insertObject:red1 atIndex:spritecount++];
[sprites insertObject:red2 atIndex:spritecount++];
for (int i=0; i<3;i++) {
int rpoint = arc4random() % 3;
int rsprite = arc4random() % 3;
CGPoint point = [[numberxy objectAtIndex:rpoint] CGPointValue];
CCSprite *sprite1 = [sprites objectAtIndex:rsprite];
sprite1.position = ccp(point.x,point.y);
if (sprite1.position.x == point.x && sprite1.position.y == point.y) {
[numberxy removeObjectAtIndex:rpoint];
[sprites removeObjectAtIndex:rsprite];
}
}
이상하지 않습니다 - 말도 안돼. Dangermouse의 코드는 의미가 없으며 객체 참조의 포인터에 대한 이해가 부족함을 나타냅니다. 내 제안은 Objective-C 가이드를 읽고 해당 코드로 컴퓨터를 재생하는 것입니다. 모든 코드 행이 무엇을하는지 설명하십시오. – bbum
@David - 죄송합니다. 두 개의 다른 프로그램의 코드를 하나의 코드로 복사 한 결과, 두 개의 프로젝트가 열렸습니다. 코드를 편집합니다. – Dangermouse
@Dangermouse, 업데이트 된 코드가 잘 보입니다. 작동합니까? – David