본문 바로가기

cocos2d-x/practice

Cocos Studio 예제 - 충돌검사, 애니메이션

적 캐릭터를 추가하고, 액션 버튼에 의해 적이 쓰러지도록 합니다. 지난 번에 못했던 애니메이션 관련 동작도 수정하려고 합니다.

- 적 캐릭터 추가

- 액션 버튼 : 액션 애니메이션 후, 대기 중인 애니메이션 동작

- 액션 버튼 시 적에 맞으면 적 death 애니메이션 동작


충돌검사, 애니메이션


1. 적 캐릭터 추가

주인공 캐릭터와 마찬가지로 적 캐릭터 추가. 소스는 Cocos Studio 예제의 적 캐릭터를 사용했습니다.




2. 연속 애니메이션

playWithIndexes(), playWithNames() 로 연속적인 애니메이션 동작 수행이 가능하지만, 전체 애니메이션이 루프로 동작하거나, 루프를 하지 않도록 설정하면, 마지막 애니메이션 종료 후 정지해버리는 단점이 있습니다.


원하는 동작은 "attack" -> "loading", 후  "loading" 반복

앞서 말한 두 함수로는 설정이 어렵습니다.


setMovementEventCallFunc() 함수를 통해 해결했고요. 등록한 callback function을 통해 "attack" 동작이 완료되면, "loading" 동작을 수행하는 방법으로 해결했습니다. 자세한 내용은 cocos2d-x 3.2 final의 예제 코드 참조.


/Classes/ExtentionTests/CocoStudioArmatureTest/ArmatureScene.cpp


3. 충돌 검사

간단하게 두 캐릭터를 이루는 사각형을 비교해서 겹치면 충돌된 것으로 판단합니다.

Armarture->getBoundingBox()로 Rect를 얻고 Rect->intersecsRect()를 통해 구현할 수 있습니다.





끝.



'cocos2d-x > practice' 카테고리의 다른 글

Cocos Studio 예제 - 버튼, 애니메이션  (0) 2014.08.12