2012-02-19 2 views
0

여기에 진짜 빠른 질문이 있습니다. 그것은 슈퍼 init처럼 주위에 물건을 고정 자신의 방법이라고 생각합니다. 다음은 그 예입니다. 아래 나는 스프라이트 프레임 "image1"로 슈퍼 init을 가지고 있고, init 내에서 "image2"를 가지고있다. 문제는이 두 이미지가 생각했던 것처럼 서로 과도하게 지나치지 않는다는 것입니다. init 'image1'의 앵커 포인트가 'image2'에 대해 0,0 및 0.5,0.5 인 것처럼 보이므로 "image1"의 왼쪽 하단이 ""image2 "의 중심을 지나치게 지나칠 것입니다.슈퍼 init Sprite가 위치와 일치하지 않습니다

-(id) initWithSpriteImage 
{ 
    if ((self = [super initWithSpriteFrameName:@"image1.png"])) 
    { 

     CCSprite *image2=[CCSprite spriteWithSpriteFrameName:@"image2.png"]; 
    } 
    return self; 

} 

어떻게 초기화 스프라이트를 제거 할 수 있습니까?

+0

나는 당신이 달성하고자하는 것을 이해하지 못합니다 ... – EmilioPelaez

+0

두 번째 CCSprite를 사용하지 않을 경우 그 목적은 무엇입니까? – dreamlax

+0

각 노드에 자식 노드를 추가하고 있습니까? – richard

답변

2

image2가 image1 스프라이트의 하위라고 가정하면 표시되는 동작이 정확합니다. 초보자를위한 행동을 이해하는 것이 정말 짜증나고 힘들 기 때문에 그것이 다르다 싶습니다.

어떻게되는지는 자식 노드가 부모의 anchorPoint에 중앙에 있지 않지만 부모의 텍스처의 원점 (0,0)에있는 것입니다. 부모가 CCScene, CCLayer 또는 CCNode와 같은 비 시각적 노드가 아니라면 각 자식은 부모의 왼쪽 아래 모서리에 집중됩니다.

+0

답변 해 주셔서 감사합니다. 그래서 나는 이것을 고칠 수있는 방법이 없다고 가정한다. 또한 mousejoint에 관한 질문을 cocos2d-central에 게시했습니다. 당신이 그것을 볼 수 있다면 좋을 것입니다. http://cocos2d-central.com/topic/772-get-body-with-b2mousejoint/ 좋은 하루 되세요! – Bek

관련 문제