목차

1장 시작하기    1
1.1 시작하기에 앞서     2
1.2 스무고개     3
1.3 제비뽑기     14
1.4 윷놀이(1)     20
1.5 윷놀이(2)     26

2장 Canvas와 Bitmap 다루기    31
2.1 사용자 View 만들기     32
2.2 화면의 해상도 표시     35
2.3 캐릭터 그리기     37
2.4 캐릭터 움직이기     41
2.5 Touch로 캐릭터 제어하기     50
2.6 Canvas의 Method     55
2.7 캐릭터 Touch 여부의 판정     77
2.8 이미지의 가공     91

3장 Class와 ArrayList    99
3.1 Class의 사용 목적     100
3.2 Record형의 자료     100
3.3 ArrayList     105

4장 SurfaceView와 Thread    121
4.1 SurfaceView는 무엇인가?     122
4.2 SurfaceView 만들기     125
4.3 Thread 만들기     128
4.4 SurfaceView와 Thread에서의 작업     132
4.5 SurfaceView에서 새로운 Class 사용하기     139
4.6 메뉴로 게임 제어하기     156
4.7 예외 상황에 대한 대책     172

5장 슈팅게임의 기본 원리    177
5.1 캐릭터의 충돌 판단     178
5.2 슈팅게임의 공통 요소     179
5.3 총알의 발사와 충돌 판정     179
5.4 점수 표시 방법     190
5.5 점수에 그래픽 폰트 사용하기     194
5.6 제한 시간의 도입     199
5.7 적과의 충돌 판정, 무적 상태     203
5.8 스테이지 넘어가기     224

6장 실전 앱 만들기 1 - 슬라이딩 퍼즐    247
6.1 프로그램의 개발 목표     248
6.2 프로젝트 기본 틀 만들기     254
6.3 게임의 기본 흐름     261
6.4 프로그램 작성     264
6.5 Slice의 이동 횟수, 경과 시간 표시     280
6.6 배경 화면 애니메이션     287
6.7 게임의 Save와 Load     298
6.8 게임 마무리     303
6.9 Application 레벨의 전역변수 사용     309
6.10 게임 도입 부분 만들기     341
6.11 게임을 마무리하며     354
6.12 예외 상황에 대한 처리     355

7장 실전 앱 만들기 2 - 슈팅게임    359
7.1 프로젝트의 시작     360
7.2 맵의 구성     366
7.3 Class의 구성     376
7.4 캐릭터의 움직임 제어     404
7.5 미사일과 게임 난이도     433
7.6 아군 우주선의 제어     442
7.7 충돌 판정과 폭파 처리     454
7.8 스테이지 Clear와 Game Over 처리     468
7.9 오프닝 화면의 구성     498
7.10 속도가 빠른 프로그램을 작성하기 위한 조언     500
7.11 프로젝트 전체 Source     502
덧붙이는 말     590
찾아보기     592