애니메이션 재생후 셀프삭제, using schedule, CardinalSpline

2023. 3. 14. 19:23cocos2dx

//애니메이션 재생후 셀프삭제, 다른 함수 사용
auto ani = Animate::create(iceBreakAni);
auto acheck = CallFunc::create([]() {printf("animation break\n"); });
auto del = RemoveSelf::create();
auto ac = Sequence::create(ani, acheck, del, NULL);
iAni->runAction(ac);


//using schedule

1. schedule에 사용할 함수는 update함수와 같이 function(float deltaTime)형식으로.

2. schedule(schedule_selector(Game::func_ON)); 이 기본 형식.

schedule_selector(함수명) 으로 사용할 함수를 schedule selector에 넣어서 사용.

3. 용례

schedule(schedule_selector(Game::func_ON)); //매 업데이트 주기마다 수행

schedule(schedule_selector(Game::func_ON), 0.5f); //0.5초마다 수행

unschedule(schedule_selector(Game::func_ON)); //스케쥴러에서 올라간 함수를 내림.

scheduleOnce(schedule_selector(Game::func_ON), 0.9f); //해당 함수를 1회 수행, 0.9초 후에 수행할 것.

schedule(schedule_selector(Game::func_ON), 0, CC_REPEAT_FOREVER, 0.9f);

//(함수명, 인터벌, 반복횟수, 딜레이) : 해당 함수를 0이면 업데이트 주기, 0보다 크면 입력한 딜레이 주기마다 반복 횟수만큼 수행하되 0.9초 후에 시작할 것.


//CardinalSpline : 여러 점을 잇는 곡선 그리기

auto ac = CardinalSplineTo::create(sTime, WPoints, tension);
TGNode->runAction(ac);

float sTime : 노드가 전체 way point를 다 지나가는 동안 걸리는 총 시간

PointArray* WPoints : way point들을 입력해 둔 array. 대충 생성해서 써도 cardinal spline을 다 수행한 다음 알아서 뒈지더라. 확인해 봄.

float tension : 0 <= tension <= 1.0f. 1에 가까울 수록 부드러운 곡선이 되고, 0에 가까울 수록 그냥 직선이 된다.

'cocos2dx' 카테고리의 다른 글

ffmpeg && cocos2d 동영상 플레이어  (0) 2023.03.14
좌우가 연속되는 배경 횡스크롤  (0) 2023.03.14
particle/using action function  (0) 2023.03.14
clipping node  (0) 2023.03.14
async loading  (0) 2023.03.14