스프라이트에 본질적으로 핵 (부모)과 전자 (어린이)가 있습니다. 나는 전자 궤도를 핵으로 만드는 방법을 찾고있다. 움직이는 앵커 포인트에 대해 여기 저기에 몇 개의 게시물을 발견했지만 스프라이트 자체가 아니라 스프라이트의 텍스처와 관련이있는 것으로 보입니다.Cocos2d - 하나의 스프라이트를 다른 스프 라이트 주위로 궤도/회전
이 내 부모 스프라이트 내 현재의 초기화 방법 :
self = [super init];
if (self) {
CCSprite *orbitAnchor = [CCSprite new];
[self addChild:orbitAnchor];
orbitAnchor.position = ccp(32,32);
CCSprite *orbiter = [CCSprite spriteWithFile:@"line.png" rect:CGRectMake(0, 0, 8, 8)];
[orbitAnchor addChild:orbiter];
orbiter.position = ccp(40,40);
CCAction *orbitAction = [CCRepeatForever actionWithAction:[CCRotateTo actionWithDuration:1 angle:720]];
[orbitAnchor runAction:orbitAction];
[self initAnimations];
}
return self;
그 숫자는하지만 모든 완전히 임의적 - 난 그냥 거기에 그들을 붙어 최상의 속에서 얻었다. 내가 원하는 것을하기위한 더 많은 프로그램 방식이 있다고 확신한다.
기본적으로, 나는 부모의 중심에서 어린이의 축 포인트를 설정 한 다음 그 점을 중심으로 회전하도록하는 방법을 찾고 있습니다. CCRotate 등을 사용하는 것이 상대적으로 간단한 것 같지만 어린이의 기준점을 이동하기 위해 검색 대상을 놓치고 있다고 생각합니다. 어떤 제안/다른 게시물?
감사합니다.
맞습니다. 노드의 위치에서 텍스처를 상쇄하므로이 방법을 권장하지 않습니다. 단순히 노드 계층 구조를 사용하면 더 많은 제어를 통해 동일한 효과를 얻을 수 있습니다. 노드 B가 다른 노드 A의 자식이고 노드 B가 노드 A에서 오프셋 된 경우 노드 A를 이동, 회전 또는 확장 할 수 있습니다. 노드 A를 중심으로 회전하는 것을 포함하여 노드 A와 노드 B가 그에 맞게 조정됩니다. – LearnCocos2D
설명했습니다. anchorPoint를 변경하는 것이 왜 나쁜 습관입니까? http://stackoverflow.com/questions/7808981/moving-a-stick-figure-anchorpoints-animation-or-something-else/7810180#7810180 – LearnCocos2D