티스토리 뷰
기본 적으로 알아 두시면 좋은 자료형 및 기본 함수들 입니다.
1. 자료형
여기서 나오는 자료형들은 모두 앞의 예제들에서 한번씩 사용했던 자료형들 입니다.
- Point( x, y ) : 포인트 값 그러니까 좌표 값을 의미 합니다.
- Size( width, height ) : 가로, 세로 길이를 의미 합니다.
- Rect( x, y, width, height ) : 이미지 내부의 x, y 좌표와 좌표로부터의 가로, 세로를 의미 합니다.
위의 자료형들을 이전에 사용하였던 예제와 비교 하여 보자면
bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } auto spr = Sprite::create("money.png",Rect(0, 0, 100, 100)); spr->setAnchorPoint(Point(0.5,0.5));//앵커포인터 지정 spr->setPosition(Point(300,200));//포지션 지정 this->addChild(spr); return true; }
위의 예제를 아래와 같이 고칠 수 있습니다.
bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Rect imgMask = Rect(0, 0, 100, 100 ); Point posAnchor = Point(0,0); Point posImg = Point(200, 300); auto spr = Sprite::create("present.png",imgMask); spr->setAnchorPoint(posAnchor);//앵커포인터 지정 spr->setPosition(posImg);//포지션 지정 this->addChild(spr); return true; }
아래는 결과 입니다.
예제에 사용된 이미지
2. 기본 메소드
기본 메소드는 스프라이트, 텍스트, 라벨 등에 공통적으로 사용되는 메소드들을 말합니다.
- setScale(), setScaleX(), setScaleY() : 객체를 배율로 확대 혹은 축소 합니다.
setScale(2.0) - 2배 확대 setScale(0.5) 50% 축소
- setRotation(), setRotationX(), setRotationY() : 객체를 회전하는 메소드 입니다. X, Y 는 회전하는 축을 의미 하며 360이상 의 값을 입력할 경우 한바퀴 값 만큼 회전후의 값이 입력됨니다.
setRotation(90) : 시계방향 90도 회전
- setFlippedX(), setFlippedY() : 객체를 반전하는 메소드 입니다 X, Y 는 각각의 축을 의미 합니다.
setFlippedX(true) : X 축 기준으로 회전
- setOpacity() : 객체의 투명도를 0~255로 나타 냅니다. 투명도를 조절하는 것임으로 0 이 되면 투명화가 되어 나타나지 않습니다.
setOpacity(0) : 나타나지 않음
setOpacity(255) : 100% 로 객체가 보임
setOpacity(180) : 살짝 투명화가 진행된 상태로 보임
- setVisible() : 객체를 보이게 하거나 안보이게 합니다. Opacity 와 다르게 보이고 안보이고를 정하는 것이기 때문에 setVisible(false) 로 지정할경우 setOpacity 의 값과 상관없이 보이지 않게 됩니다.
setVisible(true) : 객체가 보임
아래는 대충 예제로 만들어 보았습니다.
bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size windowSize = Director::getInstance()->getWinSize(); Sprite *funchild = Sprite::create("funchild.png"); Sprite *funchild_2 = Sprite::create("funchild.png"); Sprite *funtree = Sprite::create("funtree.png"); Sprite *funtree_2 = Sprite::create("funtree.png"); Sprite *funface = Sprite::create("funface.png"); Sprite *funface_2 = Sprite::create("funface.png"); funchild->setOpacity(180); funchild->setPosition(windowSize.width/2,300); this->addChild(funchild); funtree->setRotation(90); funtree->setPosition(windowSize.width/3,500); this->addChild(funtree); funface->setScale(100); funface->setPosition(windowSize.width/5,windowSize.width/6); this->addChild(funface); funchild_2->setScale(2,0.5); funchild_2->setAnchorPoint(Point::ZERO); funchild_2->setPosition(0,0); this->addChild(funchild_2); funtree_2->setFlippedX(true); funtree_2->setPosition(windowSize.width/8,windowSize.height/2); this->addChild(funtree_2); funface_2->setFlippedX(true); funface_2->setAnchorPoint(Point(1,1)); funface_2->setPosition(windowSize.width,windowSize.height); this->addChild(funface_2); return true; }
대충 만들었더니... 대충 날아다니는군요.
아래는 예제에서 사용되었던 이미지들 입니다. ( 구글에서 대충 검색해서 가지고옴... )
즐거운 하루 되시기 바랍니다.
'Dev Game > Cocos2d-X' 카테고리의 다른 글
Cocos2d-x 기초 5 - 메뉴 출력하기 (0) | 2015.03.02 |
---|---|
Cocos2d-x 기초 4 - 텍스트 출력 (0) | 2015.03.02 |
Cocos2d-x 기초 2 - addChild() 자세히 알아보기 (0) | 2015.03.02 |
Cocos2d-x 기초 1 - 좌표계, 앵커포인트, 스프라이트 (0) | 2015.03.02 |
Cocos2d-X 기초 0 - 기본 프로젝트 구조 확인하기 (0) | 2015.03.02 |
- Total
- Today
- Yesterday
- mac
- it
- html
- 인터넷
- php
- 웹 서버
- 게임
- 웹 개발
- Tutorialbook
- cocos2d-x
- 에러
- Database
- 개발
- 튜토리얼북
- 서버
- 웹
- 설치
- Developer
- ubuntu
- 우분투
- 서버 개발
- SNS
- Nodejs
- 게임 개발
- Laravel
- JavaScript
- 개발자
- 웹 개발자
- 맥
- 데이터베이스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |