//이미지 생성
auto img = Sprite::create("HelloWorld.png");
img->setPosition(CENTERPOS);
this->addChild(img);
img->setAnchorPoint(Vec2(0, 0.5));
//이동액션 만들기
auto moveTo = MoveTo::create(2, Vec2(0, WINSIZEY)); //시간, 위치
auto moveBy = MoveBy::create(2, Vec2(0, WINSIZEY)); //시간, 위치
auto jumpTo = JumpTo::create(2, Vec2(0, WINSIZEY / 2), 100, 15); //시간, 위치, 점프높이, 점프횟수
auto jumpBy = JumpBy::create(2, Vec2(0, WINSIZEY / 2), 100, 5); //시간, 위치, 점프높이, 점프횟수
auto rotateTo = RotateTo::create(2, 120); //시간, 각도
auto rotateBy = RotateBy::create(2, 120); //시간, 각도
auto scaleTo = ScaleTo::create(2, 2.0f); //시간, 스케일
auto scaleBy = ScaleBy::create(2, 2.0f); //시간, 스케일
//페이드인 아웃
auto fadeIn = FadeIn::create(3); //시간
auto fadeOut = FadeOut::create(3); //시간
//블링크 액션
auto blink = Blink::create(1, 1); //시간 ,깜박임 함수
//하이드 쇼 액션 만들기( 잘사용안함)
//이미지 자체에 setVisible
auto hide = Hide::create(); //감추기
auto show = Show::create(); //나타내기
/*
복합액션 - 액션을 여러개를 조합해서 사용한다
시퀀스 , 스폰, 리버스, 리핏, 리핏포에버 등등..
1. 시퀀스 : 2개 이상의 액션을 순서대로 실행한다
2. 스폰 : 2개 이상의 액션을 동시에 실행한다.
3. 리버스 : 반대로 실행한다.
4. 리핏 : 리핏 카운트 만큼 액션을 실행한다.
5. 리핏포에버 : 무한반복으로 액션을 실행한다.
*/
//시퀀스는 순서가 중요함 (순서대로 액션을 실행함)
//auto action = Sequence::create(moveTo, scaleTo, jumpTo,nullptr);
//auto action = Sequence::create(rotateTo, moveTo, jumpTo,nullptr);
//스폰은 순서가 안중요함 (동시에 실행)
//auto action = Spawn::create(moveTo, scaleTo, jumpTo,nullptr);
//auto action = Spawn::create(rotateTo, moveTo, jumpTo,nullptr);
//리버스
//auto action = Sequence::create(moveTo, scaleTo, jumpTo,nullptr);
//auto moveBack = action->reverse();
//리핏
auto delayTime = DelayTime::create(1.0f);
//auto move = MoveBy::create(1, Vec2(100, 0));
//auto action = Sequence::create(move, delayTime, jumpTo,nullptr);
//auto repeat = Repeat::create(action, 3); //액션 ,반복회수
//리핏 포에버
auto act1 = RotateTo::create(1, 150);
auto act2 = RotateTo::create(1, 0);
auto action = Sequence::create(act1, delayTime, act2, delayTime,nullptr);
auto repeatForever = RepeatForever::create(action);
/*
이지액션 (가속도, 브레이크)
1. 이지인 : 시작은 느리지만 나중에 빨라짐
2. 이지아웃 : 시작은 빠르지만 나중엔 느려진다
3. 이지인아웃 : 시작과 끝이 느리고 중간이 빠름
*/
auto move = MoveTo::create(2, Vec2(0, WINSIZEY / 2));
auto move2 = MoveTo::create(2, Vec2(WINSIZEX-100, WINSIZEY / 2));
auto easeIn = EaseIn::create(move, 3);
auto easeIn2 = EaseIn::create(move2, 3);
auto easeOut = EaseOut::create(move, 3);
auto easeOut2 = EaseOut::create(move2, 3);
auto easeInOut = EaseInOut::create(move2, 3);
//앨라스틱 탄성
auto easeEIn = EaseElasticIn::create(move, 3);
auto easeEOut = EaseElasticOut::create(move2, 3);
auto easeEInOut = EaseElasticInOut::create(move, 3);
auto easeBIn = EaseBounceIn::create(move);
auto easeBOut = EaseBounceOut::create(move2);
auto easeBInOut = EaseBounceInOut::create(move);
auto actionEase = Sequence::create(easeBIn, easeBOut, easeBInOut,nullptr);
//액션 실행
img->runAction(easeBIn);
이미지 생성후 기본 액션을 해보았다
기본적인 프레임워크가 무언가를 만드는데 편리하도록 구현이 되어있었다
'[과거 기록] 개발자 준비 여정 > cocos2d' 카테고리의 다른 글
cocos2d 씬전환 (0) | 2019.11.26 |
---|---|
cocos2d image 기본함수 (0) | 2019.11.20 |
cocos2d설치 (0) | 2019.11.18 |
댓글