2015년 6월 8일 월요일

[Cocos2d-x] 스프라이트

스프라이트를 이용해 화면에 이미지을 보여주려면 먼저 프로젝트에 이미지를 추가해야 합나다. 먼저 Resources 폴더 및에 images 폴더를 만들고 보여주려는 이미지를 넣습니다. 그리고 레이블에서 했던것처럼 images 폴더를 Xcode의 Resources밑으로 드래고 해서 놓으면 프로젝트에 추가가 됩니다.

스프라이트를 사용하려면 Sprite::create() 함수를 이용해서 인스턴스를 생성하면 됩니다.
auto man = Sprite::create("images/man.png");


스프라이트도 마찬가지로 위치, 색상, 투명도 등을 조절할수 있습니다.
man->setPosition(Point(100, 100)); // man.png를 (100, 100)에 보여줍니다.
man->setTextureRect(Rect(0, 0, 100, 100)); // 이미지중 가로로 0~100, 세로로 0~100 픽셀만 보여줍니다.
man->setColor(Color3B(0, 0, 255)); // 색상을 파란색으로 설정합니다.


생 성된 스프라이트를 장면에 넣으려면 레이블 처럼 addChild() 함수를 사용하면 됩니다. 모든 구성 요소는 Node 클래스를 상속받기 때문에 속성이 같고 사용할수 있는 함수도 거의 같습니다. 따라서 앞으로 자세히 언급하지 않겠습니다.
this->addChild(man);

간 혹 하나의 이미지가 아니라 두개 이상의 이미지가 같이 움직여야 할때가 있습니다. 예를 들면 주인공 머리 위에 떠다니는 에너지바 같은 거죠. 이럴때는 부모 스프라이트를 만들어 장면에 추가한 후 자식 스프라이트를 만들어 부모 스프라이트에 추가하면 됩니다.
auto parent = Sprite::create("images/parent.png");
this->addChild(parent); // 부모 스프라이트를 장면에 추가
auto child = Sprite::create("images/child.png");
parent->addChild(child); // 자식 스프라이트를 부모에 추가

댓글 없음:

댓글 쓰기