달력

5

« 2024/5 »

  • 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

1) Sequence

여러개의 Action을 순차적으로 실행하기 위해서 쓰는 또 하나의 액션.

auto act1 = MoveTo::create(1.5f, Vec2(380, 100));

auto act2 = ScaleTo::create(1.0f, 2.0f);

auto act3 = MoveTo::create(1.0f, Vec2(380, 300));

auto action = Sequence::create(act1, act2, act3, NULL);

spr1->runAction(action);

// ( 액션1, 액션2, 액션3, ... , NULL) 식으로, 순차적으로 실행할 액션을 쭉 나열한 다음 마지막에 NULL로 마무리를 해줌




2) Spawn
여러개의 Action을 동시에 실행하기 위해서 쓰는 액션
auto act2 = ScaleTo::create(1.0f, 2.0f);
auto act3 = MoveTo::create(1.0f, Vec2(380, 300));
auto spw = Spawn::create(act2, act3, NULL);
//2배로 커지면서 380, 300으로 이동하는 액션 수행
// ( 액션1, 액션2, ... , NULL )식으로, Sequence와 구조가 같음
// 동시실행하는 액션이 실행시간이 다를 경우, 가장 긴 실행시간의 액션이 끝나야 Spawn이 끝난다.



+ 다양한 액션들을 복합적으로 사용할 때, 코드가 여러줄로 길어지는 것을 방지하기 위해서, 하나의 액션 속에 뭉쳐서 쓰는 방법을 연습하는 것이 좋다.



3) reverse()

반대로 작동하는 액션. by류 액션들을 그 반대로 작동하게 하는 액션이다. sequence등의 액션에도 적용할 수 있다. 단, To 류와 같은 절대값으로 이동하게 하는 액션에는 적용되지 않는다.

auto act = MoveBy::create( 2.0f, Vec2(280, 0) );

auto reverse = act->reverse();  

//act와 반대로 동작하는 reverse라는 액션 생성



4) DelayTime

정해진 시간동안 아무 동작을 하지않고 대기하는 것.

auto act = DelayTime::create(3.0f);

//3초동안 대기하는 act생성



5) RemoveSelf

이 액션을 동작하는 객체 자체를 지우는 액션.

기존에 추가된 스프라이트 등을 지우려면 this->remove( 스프라이트 ); 등으로 지워야했지만,

Sequence와 RemoveSelf 액션을 통해 특정 동작이 끝난 뒤 자체적으로 제거되도록 할 수 있다.

spr1->runAction( Sequence::create(MoveTo::create(3.0f, Vec2(380, 100)), RemoveSelf::create(), NULL ) );

//380, 100 좌표로 이동한 뒤 삭제됨



6) Repeat / RepeatForever

지정한 액션을 지정한 횟수만큼 반복함. 

단, RepeatForever같은 경우는 Sequence의 내부에 사용될 수 없다.

(무한히 반복하면 순차실행이 안되기때문)


Repeat::create( 반복할 액션(유한횟수), 반복할 횟수 );

RepeatForever::create( 반복할 액션 );



7) ease In/Out

가속/감속의 효과를 주는 액션.

In은 처음에 느렸다가 뒤로 갈수록 빨라짐

Out은 처음에 빨랐다가 뒤로 갈수록 느려짐

InOut은 점점빨라지다가 점점 느려짐

Ease: 기본 효과. 속도 차이의 정도를 직접 두번째 파라미터로 넘겨줘야 함.

EaseSine : 속도가 완만하게 변함. 

EaseExponential : 속도가 급격하게 변함.

EaseElastic : 고무줄을 튕기는 듯한 효과를 주며 감.

EaseBack : 목표지점보다 조금 더 뒤로 갔다가 돌아옴.

EaseBounce: 원지점에서 점점 튕기며 목표위치로 감.


:
Posted by 웽웽