Sprite
모든 게임은 Sprite가 있습니다.
Sprite는 당신의 스크린에서 움직이는 객체이고 컨트롤할수 있어야 합니다.
따라서 당신이 좋아하는 게임에서 주인공은 Sprite입니다.
그럼 그림을 다 Sprite로 처리될까요?아닙니다.왜냐?당신이 컨트롤해야할 객체만 Sprite가 됩니다.만약 컨트롤할수 없다면 그건 그냥 Node일 뿐입니다.
Sprite는 모든게임에서 중요합니다.
어떤 게임이나 다 이런 장면이 있죠.하나의 무대.그위엔 주인공.그 주인공이 Sprite입니다.
Sprite는 생성하기 쉽고 위치,회전각도,축소확대비율,투명도,색상등의 속성을 설정할수 있습니다.
C++
// This is how to create a sprite
auto mySprite = Sprite::create("mysprite.png");
// this is how to change the
properties of the sprite
mySprite->setPosition(Vec2(500, 0));
mySprite->setRotation(40);
mySprite->setScale(2.0); // sets both the scale of the X and Y axis uniformly
mySprite->setAnchorPoint(Vec2(0, 0));
속성을 알아봅시다.
위치를
mySprite->setPosition(Vec2(500, 0));
(500,0)의 위치에 세팅을 합니다.
그럼 이렇게 새로운 위치로 바뀝니다.
회전각도를 40으로 설정합니다.
mySprite->setRotation(40);:
이제 축소확대값을 2.0배로 키워봅시다.
mySprite->setScale(2.0);:
크기가 확대된걸 볼수있습니다.
다시 Anchor point(pivot)라는걸 알아봅시다.
문서상에서는 anchor point라고 적혀있지만 저는 anchor point를 더 익숙하고 친숙한 Pivot으로 번역을 하겠습니다.
모든노드는 다 피벗이 있습니다.Sprite는 Node의 자식타입입니다.당연히 노드가 가지고 있는 피벗도 자식인 Sprite가 가지고 있습니다.피벗은 노드가 좌표계산할때 사용되는 기준점입니다.
방금 우리가 생성한 Sprite를 예로 들고 (0,0)위치로 설정합니다.
C++
mySprite->setAnchorPoint(Vec2(0, 0));
Sprite의 좌측하단이 SetPosition()의 기준점이 되어서 계산되어집니다.다른 피벗 효과를 봐볼까요?
그림의 빨간점을 주의해서 봐주세요.빨간점이 피벗의 위치입니다.
당신이 본 그림처럼 피벗은 노드의 위치에 대해서 중요한 역할을 합니다.
당신은 당신의 게임에서 피벗을 설정하여 당신이 원하는 효과를 얻을수 있을것입니다.
지금까지 우리의 Sprite캐릭터는 순간이동을 해왔습니다.하지만 당신이 원하는건 시간의 변화에 따라서 이동하는 것이라면?Action챕터로 가봅시다.
출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/basic_concepts/sprites.html>
'Cocos2d-x v3.17 > 입문하기' 카테고리의 다른 글
[Cocos2d-x 입문하기] Sequence 이해하기 (0) | 2018.08.11 |
---|---|
[Cocos2d-x 입문하기]Action 이해하기 (0) | 2018.08.11 |
[Cocos2d-x 입문하기]Scene을 이해하기 (0) | 2018.08.11 |
[Cocos2d-x 입문하기] Director 이해하기 (0) | 2018.08.11 |
[Cocos2d-x 입문하기]기본 개념 (0) | 2018.08.11 |