본문 바로가기

Cocos2d-x v3.17/기본기능

[Cocos2d-x 기본기능]변속운동

반응형

변속운동 

 

변속동작은 노드가 가속도를 가지게 하고 부드럽게 함과 동시에 상대적으로 복잡한 Action을 수행한다.

따라서 변속운동을 이용하여 물리운동을 모방할수 있다.

이렇게 하면 실제로 물리엔진을 사용하는것보다 성능소비가 낮고 사용하기도 쉽다.

변속운동을 메뉴나 버튼에 사용하는것도 좋다.

 

Cocos2d-x는 위 그림중 대부분의 변속운동을 지원한다.

구현하기도 간단하다.

예를들어보자.

스프라이트가 스크린 위쪽에서 낙하한후 계속 점프하는 예제이다. 


C++ 

// create a sprite

auto mySprite = Sprite::create("mysprite.png"); 

// create a MoveBy Action to where we want the sprite to drop from.

auto move = MoveBy::create(2, Vec2(200, dirs->getVisibleSize().height -

newSprite2->getContentSize().height));

auto move_back = move->reverse(); 

// create a BounceIn Ease Action

auto move_ease_in = EaseBounceIn::create(move->clone() ); 

// create a delay that is run in between sequence events

auto delay = DelayTime::create(0.25f); 

// create the sequence of actions, in the order we want to run them

auto seq1 = Sequence::create(move_ease_in, delay, move_ease_in_back,

delay->clone(), nullptr); 

// run the sequence and repeat forever.

mySprite->runAction(RepeatForever::create(seq1)); 

 

복잡한 동작은 이문서에 표기하기 어렵다.

효과를 미리 보고싶다면 본 가이드북의 代码示例 코드예시를 보면 된다

혹은 엔진코드의 test항목인 cpp-tests를 실행하고 메뉴에 3:Actions- Basic중 기본동작의 효과가 구현되어 있다. 

 

Cpp-tests를 실행하는 방법은 본 도큐먼트의 环境搭建 를 참고하라. 


출처: <http://cocos2d-x.org/docs/cocos2d-x/zh/actions/basic.html

 

 


반응형