2023년 11월 22일 수요일

[cocos2d-x] 2d 게임엔진으로 플래피버드 클론 게임 만들기 (Sequence의 활용)


 Sequence에는 NULL이 필수

Sequence는 트윈(액션)을 순차적으로 실행할 수 있도록 나열합니다.

트윈은 순서대로 콤마(,)로 구분합니다.

Sequence의 종료는 NULL로 하기 때문에 항상 끝에 NULL을 써 줘야 합니다.

Sequence가 실행 중에 같은 노드에 다른 트윈이 실행되면 중첩되어 실행되는데, 이걸 의식하지 않으면 꼬이게 됩니다.

지금 실행중인 Sequence를 의도적으로 중지하고 다음 트윈을 실행할 필요가 있습니다.

트윈의 중지

하나의 트윈만 실행중이고, 그걸 중지하려면

stopAllActions();로 충분합니다.

하지만 복수의 트윈이 실행중이고 특정 트윈만 중지하려면, 트윈에 태그를 부여해야 합니다.

지금까지 트윈은 runAction(..) 안에 바로 기입하는 방법을 썼는데,

auto act = Sequence::create( ... 같이 별도 변수로 선언한 후

runAction(act) 같이 사용하는 방법이 원래는 정석입니다.

여기에 act->setTag(0); 처럼 트윈에 태그를 주고,

stopActionByTag(0); 으로 원하는 트윈을 정지할 수 있습니다.

댓글 1개:

[cocos2d-x] 2D 엔진으로 만드는 3D 슈팅게임

왜 2D 게임엔진으로 3D 게임 만들려고 삽질을 합니까?   예 뭐 3D 게임 만드는데 좋은 엔진은 아닙니다. 셰이더도 부실하고 물리엔진 쓰기도 까다롭고. 요즘은 외부업체 SDK 인트하기도 점점 힘들어지고.. ​ 그래도 기왕 해 본 거, 여기까지 왔으...