[D_005] Basic Action - Scale, Rotate, Blink, Fade, Tint
1) Scale
대상의 크기를 변화시키는 액션.
확대가 되는 기준점은 Anchor point이다.
ScaleTo의 경우는 현재 크기와 상관없이 지정한 크기로 변화시킴.
ScaleBy의 경우는 현재의 크기를 기준으로 지정한 수치만큼 크기를 변화시킴.
auto action1 = ScaleTo::create(3.0f, 4);
//현재 크기와 상관없이 지정한 크기로 변화
auto action2 = ScaleBy::create(3.0f, 2);
//현재 크기에서 두배를 더 키움
2) Rotate
대상을 회전하게 하는 액션.
회전의 기준점은 Anchor point이다.
RotateTo의 경우, 현재 각도에서 지정한 각도로 갈 수 있는 가장 빠른 경로로 가기 때문에, 180~360사이의 각도를 입력할 경우에 반대로 회전하게 된다.
RotateBy의 경우는 현재 각도에서 지정한 각도만큼 회전을 하게 된다.
auto act = RotateTo::create(3.0f, 360);
//현재 상태에서 해당하는 각도로 회전시킴
auto act = RotateBy::create(3.0f, 360);
//현재 상태에서 지정한 각도만큼 회전시킴
3) Show
대상을 보이게 하는 메소드
대개 setVisible과 크게 다를바없어서 잘 안쓰임...?
4) Blink
대상을 지정한 시간만큼 지정한 횟수동안 깜빡이게 하는 메소드
auto act = Blink::create(3, 10);
//3초동안 10회 깜빡이게 함
5) Fade
투명도를 변화시키는 효과. 대부분의 게임에서 빠지지않고 쓰이는 효과.
FadeIn은 서서히 나타나게 하는 효과. FadeOut은 서서히 사라지는 효과.
현재 투명도에서 각각 0, 255로 서서히 변화함. (0-투명하지 않음. 255-투명함)
setOpacity()를 이용하여 투명도를 조절해준 대상은 그 상태에서 지정한 상태로 변화한다.
FadeTo는 setOpacity()와 거의 비슷한 기능. 단지 시간에 걸쳐 서서히 변화하는 것이 다르다.
auto act = FadeIn::create(3.0f);
//현재 투명도에서 0으로 변화
auto act = FadeOut::create(3.0f);
//현재 투명도에서 255로 변화
auto act = FadeTo::create(3.0f, 128);
//3초동안 투명도를 128로 변화
6) Tint
색상을 변화시키는 효과.
TintTo : 시간에 걸쳐 지정한 색상으로 서서히 변함.
TintBy : 시간에 걸쳐 처음에 지정한 색상이 빠져있다가 서서히 원래 색상으로 돌아옴.
auto act = TintTo::create(3.0f, 255, 0, 0);
//천천히 색깔이 빨간색으로 바뀜
auto act = TintBy::create(3.0f, 0, 255, 255);
//빨간색이었다가(G, B가 다 빠져있음) 서서히 원래대로 돌아옴.