여느 때처럼 아침에 일찍 일어 났다. 하지만 오늘은 토요일이고 모처럼 회사를 안 가도 되는 토요일이다 보니 갑자기 시간이 너무 많아졌던 것이다.
딱 하루짜리 프로젝트를 해 보자는 생각에 15년 전에 한글화 할 때 끄적였던 리소스들을 꺼내어서 간단한 맵 출력 샘플을 만들기로 하고 아침에 app 개발을 위한 manifest.xml 을 발급 받았다. 그리고 오전과 밤시간을 이용해서 만든 것이 아래의 결과물이다.
십 몇 년 전에, 게제동을 통해서 DOS용으로 pascal과 asm을 이용해서 만들어서 소스를 공개했던 것인데 이것을 bada 용으로 만들어 보았다. 언어도 pascal + asm에서 C++로 바뀌었고 구조도 완전히 다 바뀐 것이라 완전히 새로 만드는 기분이었다.
일단 bada app의 이야기인 app을 만든 방법은,
- 기본 C++ project에서 Form-Base app을 선택
- 처음부터 있는 기본 Form을 타이틀이 없는 Form으로 수정
- 더불어 UI 관련 xml은 삭제
- application.xml 에서 auto scaling 관련 옵션 제거
(게임에는 사용하지 않는 편이 품질을 보장할 수 있음)
- manifest는 API 1.0 version으로 발급
(더 많은 기기와 버전에서 동작하도록 하기 위함)
- Application에는 Timer와 관련 listener를 추가
- Application의 OnForeground에서는 timer를 ON
- Application의 OnBackground에서는 timer를 OFF 했습니다.
- Timer 이벤트가 발생할 때마다 10 ms의 간격으로 게임의 메인 루프를 실행
- 게임은 1995~6년도의 원작의 resource를 그대로 사용
(ELF사에 저작권이 있는 부분입임)
- 당시 4-bit용 게임이었으므로 GetCanvasN()의 포맷인 ARGB8888로 리소스를 변경
- 터치 입력을 추가, 스크린의 4 방향의 가장자리를 누르면 유이가 움직임
bada용 동급생 2 맵 출력 샘플 (257K)
Posted by 안영기