본문 바로가기

IT 번역/Cocos2d-x 메뉴얼[manual] 번역

부모 자식 관계 | Parent Child Relationship

Cocos2d-x는 부모와 자식의 관계[parent and child relationship] 개념을 사용합니다. 다시 말해, 부모 노드의 속성을 적용하거나 변경할 경우, 그 변경 내용이 자식들에게도 적용된다는 뜻입니다. 단 한개의 스프라이트[Sprite]하고 자식을 갖고 있는 스프라이트[Sprite]를 떠올려보세요:

자식이 있을 경우, 부모의 회전각을 변경하면 그 부모의 모든 자식들의 회전값도 바뀌게 됩니다:

 

auto myNode = Node::create();

// 값을 지정하여 회전하기.
// rotating by setting
myNode->setRotation(50);

 

위의 회전값을 적용하는 것처럼, 부모의 크기를 변경하면 자식들 역시 크기가 바뀝니다:

 

auto myNode = Node::create();

// 크기값을 지정하기.
// scaling by setting
myNode->setScale(2.0); // scales uniformly by 2.0 // 동일하게 2.0으로 크기 변경 (2배 크기)

 

부모의 모든 변경사항이 항상 자식에게 적용되는 것은 아닙니다. 부모의 앵커 포인트[Anchor Point]를 변경하면, 그 값은 변형 동작(크기[Scale], 위치[Position], 회전[Rotation], 비틀기[Skew; 기울이기], 등등...)에만 적용되며, 자식의 위치에는 아무런 영향도 미치지 않습니다. 정확히 말하자면, 자식은 항상 부모의 왼쪽 바닥(0,0) 코너에 추가 됩니다.