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
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