애니팡을 하던 중, 콤보를 빠르게 이어가기 위해 어디를 터치해야 할 지 알려 주는 어플을 만들면 어떨까 하는 생각이 들었다. 구상한 방식은 게임 플레이 시 화면에 표시되는 내용을 읽어들여서 각 블록들의 배치를 알아낸 뒤, 한 칸 이동시켰을 때 터지는 조건이 되는 그런 블록을 찾아낸다. 그렇게 블록을 찾아냈으면 그 블록이 있는 위치에 간단한 그래픽을 띄워 그곳을 터치해야 한다고 알려주는 것이었다.
그 전까지 안드로이드 프로그래밍을 한 번도 해 보지 않았기 때문에 그나마 익숙한 플래시(Adobe Air)를 사용하여 만들기로 하였다. 어플리케이션의 배경을 투명하게 하여 뒤쪽의 화면을 얻어오면 될 거라고 생각했다. 그래서 플래시빌더를 실행시켜서 배경이 투명한 어플리케이션을 하나 만들어 기기에 넣어봤는데 배경이 투명하지 않고 하얗게 나온다... 관련내용을 검색해 보니 AndroidManifest.xml을 수정해야 된단다.
activity 태그에 android:theme="@android:style/Theme.Translucent를 넣어 apk를 생성하려고 하니 오류가 발생했다. Adobe Air로 만드는 앱에서는 android:style을 오버라이드 할 수 없다는 것이었다.
결국 이클립스에 안드로이드 개발 환경을 세팅하게 되었다.(ANE를 쓰면 됐었을수도..)
우선 메인 Activity에 Theme.Translucent 스타일을 적용시켜보았다. 어플리케이션을 실행시키자 앱 실행 직전의 화면이 어플의 배경으로 나오는 것을 볼 수 있었으나 그냥 그림일 뿐 뒤쪽을 컨트롤은 할 수 없었다..
다음에는 메인액티비티에서 Service를 띄웠는데 이번에는 어플이 띄워진 상태에서 뒤쪽의 화면을 조작할 수 있었지만, getRootView().getDrawingCache();로 드로잉캐시를 얻어보니 투명한 이미지만 나왔다..
Service에서 Translucent테마를 적용한 액티비티를 띄워서 그 액티비티의 드로잉캐시를 얻어와 봐도 역시 0x00000000...
phandroid를 뒤져보니 Android Screenshot Library를 쓰면 된다는 내용이 있길래 예제를 받아서 실행시켜보았다. 하지만 아래와 같이 화면전체가 빨갛게 되거나, 위쪽 일부분만 찍힌 스크린샷만 나올 뿐이었다...
![](https://t1.daumcdn.net/cfile/tistory/0150223C507186AC16)
![](https://t1.daumcdn.net/cfile/tistory/122DD837507186ED2A)
도시 해결방법을 알 수가 없었다. 그래도 라이브러리의 소스코드(소켓통신 하는 부분)을 조금 수정해서 실행은 시켜 봤는데.. 메인화면이 가로보기로 되고 화면이 노랗게 되거나 아이콘이 사라지는 등 핸드폰이 벽돌이 되어버릴 것 같은 불길한 현상들이 일어나서 그만두는 수밖에 없었다. (이 문제가 해결된다고 해도 화면 읽어오는 속도가 느려서 애니팡을 건드리기는 어려울 것 같다.)