2017년 9월 19일 화요일

[20170920] cocos2d-x 3.15.1 CallFunc Problem

오랜만에 3시간 가량의 삽질을 시전했습니다.

진행중인 Player 의 Attack 관련 제어 코드를 작성하는 도중에 Player 가...


...이렇게 굳어버리는 경우가 "비정기적" 으로 발생했기 때문입니다.


코드 여기 저기에 log 출력 코드를 박아 넣었고.
이리 저리 생각해볼 수 있는 거의 모든 경우를 확인해본 결과 이 것이 저로 인한 것은 아님을 확인했습니다.

원인은 SpriteFrame을 교체하는 Action을 열심히 수행한 이후 마지막으로 CallFunc Action이 작동해야 하는데 CallFunc이 작동하지 않는 것이었습니다.

그래서 검색을 시작했습니다. google 은 만병통치약이니까요.
그리고 찾았습니다.

http://discuss.cocos2d-x.org/t/cocos2d-x-3-15-1-sequence-has-error/38747

관련된 fix 로그는...
https://github.com/cocos2d/cocos2d-x/pull/17906
...입니다.

2017.09.20 현 시점에 cocos2d-x.org 에서 내려받을수 있는 엔진 압축파일은 해당 fix 가 적용되어 있지 않습니다.
그.러.므.로...

https://github.com/cocos2d/cocos2d-x 에서 ...
1. CCActionInstant.h
2. CCActionInstant.cpp
3. CCActionInverval.h
4. CCActionInverval.cpp
...의 코드를 복사하여 엔진 코드에 붙여넣으세요.


현 시점의 fix 상태는...
...와 같습니다.



이후 다른 fix가 적용되서 이리 저리 얽히면 다른 파일도 같이 가져와야 할지도 모릅니다.
그건 그때 각자 알아서 잘 하면 될것 같습니다. ㅇ_ㅇ
뭐... 그 전에 새로운 다운로드가 올라오겠죠.

댓글 없음:

댓글 쓰기