2017년 8월 4일 금요일

[20170805] Fix Display Stats

지저분했던 cocos2d-x 3.x 의 DisplayStats 기능을 손봤습니다.

"더 이상의 자세한 설명은 생략한다."
( '_')y-~

< 작업 전 >

< 작업 후 >

... by StudioR

2017년 7월 29일 토요일

[20170729] Cocos2d Engine Version Up

Cocos2d X 3.15.1 로 버전업을 진행하면서 NDK의 버전도 r14b로 버전업을 진행하였습니다.


  • cocos의 버전이 변경되면서 일부 코드의 경로가 변경되어 코드 일부 수정을 진행.
    • CCFileUtils.h의 경우 platform 폴더로 이동되어 해당 파일을 include 하는 경로를 수정.
  • Android Studio에서 빌드 했을때 빌드 에러가 발생했는데 해당 문제를 해결하기 위해 Java SDK의 버전을 8로 올림.
    • 로그 확인 결과 Java SDK의 버전 불일치가 문제로 판단.
    • 높은 버전의 Java SDK를 이용해 빌드한 라이브러리를 낮은 버전의 Java SDK에서 사용할때 빌드 문제가 발생.
    • Android Studio 의 버전 업데이트가 문제가 된것으로 확인.
  • NDK 빌드에서 빌드 에러가 발생하는 코드 수정.
    • tr1이 없음. c++11이 사용 가능함.
    • for each를 사용할수 없음. 대신 ranged for 는 사용가능하여 대체함.
    • unordered_map 사용 불가.
    • enum의 전방선언 빌드 안됨.
    • 폴더 별로 파일을 분류 할경우 빌드 안되어 폴더들을 삭제함. (빌드 하기 위해선 빌드 파일 리스트를 수정하는 등의 별도의 작업이 필요
  • cocos2d를 8GB 이하의 램에서 사용할 경우 꼭 가상메모리는 켜놓자...
    • 빌드중에 Heap Memory가 부족하여 컴파일 실패 메시지를 볼수도 있습니다.....
    • 가상메모리를 켜놓으면 컴파일 속도는 좀 느려지지만 무사히 빌드가 완료됩니다.

그 외에도 자잘한 삽질이 많았지만 어떻게든 무사히 버전업 완료하여 다행입니다.....
버전업 작업의 시작은 한참 되었지만 그동안 회사의 프로젝트 진행과 cocos2d 3.14.x 버전의 치명적 버그로 인해 이제서야 마무리 되었네요.....

.... by Seraph

2017년 7월 19일 수요일

[20170719] Physics Space Scale

Box2D 와 cocos2d-x 의 공간을 1 : 1 로 매칭해서 사용하는 경우
Box2D 오브젝트의 속도 설정에 상당한 제한이 따릅니다.
최대 속도로 움직이는데 왜이렇게 느리지?
...같은 상황이 발생합니다.


그래서 Box2D 와 cocos2d-x 의 공간을
1 : 10 으로 설정해서
...사용하기로 했습니다.


두 공간의 Scale 차이를 매끄럽게 처리 하기 위해서
Box2D 오브젝트를 만드는 상황에서

  1. position 과 size 를 scale 해서 생성하고
  2. PhysicsSprite 에 정의 되어 있는 각종 Position 관렴 함수

...를 빌려와서 사용합니다.


이제 Pandolgun 에게 Jump를 다시 만지라고 일을 던져야겠습니다.
( '_')y-~

...by StudioR