본문 바로가기
[과거 기록] 개발자 준비 여정/cocos2d

cocos2d action

by 삼색먕 2019. 11. 21.
	//이미지 생성
	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

댓글