본문 바로가기

Game Programming213

[JSOAP] KSOAP2에서 닷넷웹서비스로 인수 전달이 안된다면? 안드로이드에서 SOAP은 KSOAP2이 유일한 방법이 될 수 있을 것이다. 그러나 일부 닷넷웹서비스의 경우 prefix를 사용하지 않고 몇가지 기준에 맞지 않는 부분이 있어 접근은 가능해도 인수 전달이 안되는 경우가 있다. 이를 해결하기 위해서는 몇가지 수정이 필요한데 소스 레벨에서의 수정이 그나마 편해서 KSOAP2를 조금 바꾸어 봤다. 굳이 소스를 고치지 않아도 해결이 가능하기 때문에 소스는 공개하지 않고 jar만 공개할까한다. 닷넷에서의 주요 변경점은 담과 같다. 1. Header 구분제거 2. prefix 제거 3. xs i~d까지 정확한 명칭으로 변경 굳이 소스를 고칠 필요는 없었는데.... 사용시 주의사항은 두가지만 체크해주자. SoapSerializationEnvelope envelope =.. 2010. 11. 26.
nbandroid 에서 raw 리소스가 에러나는 경우 빌드상에 문제가 있어서 apk안에 들어간 ogg, mp3등이 손상된다. 이 때문에 사운드 풀이라던지 미디어에서 사용이 불가능한 문제가 있다. 이런 경우 nbandroid에서는 아래와 같은 방법을 기술해 놓았다. 이렇게 처리해 주면 된다. 좀 더 쉽게는 알기 어려울까? 음음음... www.gamemotor.com www.gamehon.com 2010. 8. 11.
Android AudioTrack::start called from thread 해당 문제로 고생 좀 하는 사람에게 주는 해답이 있다면. 오디오트랙에서 저런 문제가 발생하는 이유는 오디오트랙과 동기화 된 쓰레드 내부에서 데드락 발생 위험이 있기 때문이다. 트랙의 쓰레드가 종료되지 않은 상태에서 실행을 하려고 하니 기다려야 한다는 것인데 매번 트랙을 생성하고 쓰레드도 생성하는 사람에게는 문제가 발생하는 경우가 적지만 게임과 같이 빠른 시간 안에 다중 출력을 해야 하는 경우 이런 문제를 접하게 된다. 답만 말하면 쓰레드가 정지되지 않으면 강제로 정지하면 된다. 이유를 알면 해결책도 보인다. 그리고 해외에만 활성화된 작금의 현실에선 욕만 나온다. 우하하하 아 더워,,,모기도 많고... www.gamemotor.com www.gamehon.com 2010. 7. 30.
Android SoftKeyBoard와 에뮬레이터의 관계 안드로이드 에뮬레이터는 기본적으로 쿼티 자판을 가진 디바이스로 설정되어 있다. 이 때문에 세로 모드는 모르지만 가로 모드에서는 소프트 키보드가 화면에 나타나지 않는다. 물론 폰에서는 정상 작동한다. 에뮬에서도 테스트 하고 싶다면 초기 에뮬레이터 설정에서 아래와 같이 해주면 된다. Keyboard support "no" 자료가 너무 없어. 구글이라 구글링이냐? www.gamehon.com www.gamemotor.com 2010. 7. 29.
Nbanroid Proguard 귀찮게 까먹었던 ANT 문법을 다시 보며 간신히 만들었다. 각각의 컴파일에 맞추어 하는 것은 귀찮아서 못하고 일단 완성된 class 파일들만 모두 암호화하고 dex로 만든 뒤 apk에 넣었다. 기존 대비 30%의 코드 최적화가 이루어진 듯 하다. 다음에는 스칼라인가? 할 건 많고 시간은 적고.. 실행상의 문제는 발견되지 않았지만 혹시 모르니 조심 조심.. -libraryjars ${platform.bootcp} -injars ${build.classes.dir} -outjars ${build.dir}/proguard/classes.jar -keep public class * extends android.app.Activity -optimizations !code/simplification/cast -al.. 2010. 7. 18.
Android AudioTrack 일단 원인 불명의 이유로 SoundPool Load에서 에러가 발생한다. 의심은 가는데 귀찮아서 손은 못대고 전부터 할까말까 고민하던 AudioTrack을 건들기로 했다. WavData 클래스가 없는 관계로 일단 모든 샘플링 수준은 지정한 체 사용했고 쓰레드를 각각 할당했더니 멀티 사운드 동작도 무리 없었다. 다만 버퍼링을 위한 속도 저하가 좀 걸리지만 큰 무리는 없었다. OpenAL 이 완벽하게 구현되기 전까지만 사용할 예정이라 일단 여기서 멈추었는데 중요한 부분은 오디오트랙은 구간 설정 종료 구간 설정과 같은 부분에 사용되는 frames 의 기준이 매우 이해 어려웠다. 이에 확인한 바로는 대부분이 play 이후 바로 write로 버퍼를 채우는 것이 외국의 사례였다. 쓰레드의 보완을 위해 sleep을 .. 2010. 7. 9.