멀티플랫폼(5)
-
Cocos2d-X를 이용해서 국내 오픈마켓 동시 개발..
Cocos2d-x를 이용해서 iOS와 Android를 동시에 개발하고 있습니다.iOS의 경우 한번만 개발을 하면 특별히 변경할게 없지만 안드로이드의 경우에는 구글,티스토어,오즈,올레등 오픈마켓에 따라서 설정해 줄게 있습니다. 일단 iOS로 개발된 소스는 Classes에 있고 리소소는 Resources에, 그럼 "proj.android_마켓별"과 같이 마켓별 pro.anroid를 복사해서 사용하시면 됩니다. 그럼 게임의 기본적인 소스들은 변경하지 않고 모든 마켓을 대응할 수 있어서 편하게 개발할 수 있습니다. 주의 : build_native.sh파일의 상단에 다음줄을 마켓별로 수정해주시면 됩니다. GAME_ANDROID_ROOT=$GAME_ROOT/proj.android_Olle 그리고 마켓별 libs에 ..
2012.09.11 -
Cocos2d-x에서 진동/음소거 모드에서 소리 출력 문제해결 방법
Cocos2d-X로 멀티플랫폼 게임을 개발중입니다.iOS에서는 문제 없었지만 안드로이드로 넘어오면서 몇가지 문제가 생깁니다.그나마 main java소소에서 몇줄 추가로 간단하게 해결할 수 있습니다. 다음 소스를 원하시는 곳에 추가하시면 됩니다.주로 onCreate() 또는 onStart()에 넣으시면 됩니다. 그럼 현재 모드를 확인해서 Cocos2d-X로 Jni를 이용해서 음소거를 시켜주면 됩니다. 게임 음원 출력 프로세스에서 bool형의 isMute 변수를 만들어서 toggle해주는 방식을 사용하시길 추천드립니다. //------------------------------------------------------------------------------------------------// 단말기가 ..
2012.07.19 -
Cocos2d-X에서 보안락 화면에서 게임 프로세스 처리방법.
Cocos2d-x로 멀티플랫폼 게임을 개발중입니다.안드로이드에서는 몇가지 고려해야 하는 사항들이 있습니다.iOS에서는 자동으로 처리해주는 부분들이 안드로이드에서는 개발자가 신경을 써야합니다. 우선 Sleep모드로 넘어간후에 보안락화면에서 게임의 onResume()함수가 호출됩니다.따라서 보안락화면에서 배경음악이 출력되거나 원하지 않게 게임이 진행되는 상황이 발생됩니다.이럴경우 onResume()에서 확실히 복귀된 후에 Pause했던 게임의 상태를 resume으로 변경해주도록 해야합니다. 1. 기존의 protected void onResume()를 다음과 같이 수정해줍니다. @Override protected void onResume() { super.onResume(); // 어플을 재시작하기 전에 보안..
2012.07.19 -
Cocos2d-x에서 java의 signature of a method를 알아내기
Cocos2d-x를 이용해서 C++/C에서 Java소스의 함수를 호출할때 자바 클래스내에 있는 함수의 고유식별자를 알아내야 합니다. 그래야 JNI를 통해서 호출이 가능합니다.우선 간단하게 알아내는 방법은 JDK의 javap.exe를 이용하는 방법입니다. @echo oncd C:\Program Files\Java\jdk1.7.0\bin\javap.exe -s C:\My_Work\Coco2DX\cocos2d-1.0.1-x-0.12.0\SVSZ\android\bin\classes\com\manodio\svsz\SVSZ.class pause 일단 위와 같이 bat파일을 만들어서 사용해도 좋습니다. 위 명령어를 실행하면 SVSZ.class내의 모든 함수들이 "(ILJAVA/LANG/STRING;[I)J" 등의 값..
2012.06.21 -
cocos2D-X에서 안드로이드 프로젝트 만들기.
cocos2d-x를 이용해서 iOS에서 개발한 프로젝트를 안드로이드로 포팅하기 위해서 준비중입니다.기존의 Unity3D는 강력한 멀티플랫폼을 지원하지만 생각외로 무겁다는것과 로우Level개발자에게는 자유도가 많이 떨어진다는 단점이 있습니다. Unity3D도 다양하게 튜닝해서 프로젝트에 적용하시는 분들도 많이 봐왔습니다. 하지만 C/C++이 익숙한 개발자에게 자신이 가장 잘하는 언어를 이용해서 개발하는 쪽이 좀더 효율적인 듯해서 그리고 회사 입장에서 특정 Tool에 너무 종속되는 것도 좋지 않다는 생각에서 cocos2d-x를 적용해보고 있습니다. 필요한 툴들은 다음과 같습니다.Eclipse, NDK, Java SDK, cygwin 그리고 cocos2d-x등입니다. 개인적으로 다음과 같은 위치에 설치를 했습..
2012.06.07