2012-05-13 3 views
0

그래서 동시에 여러 개의 스프라이트를 이동하려고합니다. 문제는 두 스프라이트가 서로 가깝다면 위치가 동일 해져서 (경계 상자가 같아 지므로) 분리 할 수없는 것입니다.테두리 상자없이 스프라이트를 터치하십시오.

"표준"CGRectContainsPoint(sprite1.boundingBox,location)을 사용하고 있습니다.

내가 필요로하는 것은 boundingBox에 상관없이 상단에 스프라이트를 얻는 것입니다. 어떤 아이디어?

답변

0

hah..i 가능한 가장 쉬운 방법으로 고정 :

if (CGRectContainsPoint (sprite1.boundingBox,location)){ 
sprite1.position=location; 
}else if (CGRectContainsPoint (sprite2.boundingBox,location)){ 
sprite2.position=location; 
} 

이 동작하는 방식은 경계 상자가 same..it 경우에만 2 일

one..not 소요입니다 \
1

-(void) addChild: (CCNode*)node z:(NSInteger)z 메서드를 사용하여 추가하는 스프라이트에 명시적인 z 값을 할당하는 것이 한 가지 방법입니다.

그런 다음 테두리 테스트에서 여러 스프라이트를 다시 얻으면 z 값이 가장 큰 스프라이트 만 이동하십시오.

+0

당신의 대답은 저에게 그것을 고치는 아이디어를주었습니다 .. 그래서 .. 그것은 기술적으로 대답이 아닙니다. 그러나 어떤 경우에도 좋은 충고 :) thx – skytz

+0

@skytz 그것은 기술적으로 대답입니다. 벌금! =) 그것은 어떤면에서 도움이되기를 기쁘게 생각합니다. – MechEthan

+0

내가 말한 것은 정확히 내가 찾던 대답이 아니라는 것입니다. :) – skytz

관련 문제