목차 일부
CHAPTER 01 안드로이드 게임 개발을 시작하며
필요한 능력 ... 2
안드로이드 개발의 기초 지식 ... 2
리눅스와 셸 스크립팅 기초 지식 ... 5
필요한 소프트웨어 도구들 ... 5
개발용 리눅스 컴퓨터 준비 ... 6
안드로이드 소스 얻기 ... 7
네이티브 안드로이드 라이브러리 추출 ...
더보기
목차 전체
CHAPTER 01 안드로이드 게임 개발을 시작하며
필요한 능력 ... 2
안드로이드 개발의 기초 지식 ... 2
리눅스와 셸 스크립팅 기초 지식 ... 5
필요한 소프트웨어 도구들 ... 5
개발용 리눅스 컴퓨터 준비 ... 6
안드로이드 소스 얻기 ... 7
네이티브 안드로이드 라이브러리 추출 ... 10
ARM 프로세서용 GNU 도구사슬 설치 ... 12
커스텀 컴파일 스크립트 작성 ... 15
안드로이드 개발 환경 설정 ... 26
요약 ... 33
CHAPTER 02 안드로이드 네이티브 코드 다루기
기본적인 안드로이드 네이티브 프로그램 ... 35
AVD 생성 ... 35
안드로이드 프로젝트 만들기 ... 38
안드로이드 응용프로그램의 구조 ... 40
공유 라이브러리의 컴파일과 시험 ... 56
기호 누락 문제 해결 ... 61
기기에서 동적 라이브러리를 검사 ... 62
strace를 이용한 디버깅 ... 63
정적 링크 ... 65
안드로이드 응용프로그램에서 시험해 보기 ... 67
요약 ... 69
CHAPTER 03 순수 Java로 안드로이드 게임 만들기
안드로이드 게임 개발 대 Java ME 게임 개발 ... 71
첫 Java 게임, Space Blaster 만들기 ... 73
게임의 전반적인 구조 ... 74
프로젝트 생성 ... 76
게임의 활동 클래스 작성 ... 77
게임 레이아웃 작성 ... 79
게임의 구현 ... 86
키 및 터치 사건 처리 ... 97
에뮬레이터에서 시험해 보기 ... 101
요약 ... 102
CHAPTER 04 Java 게임 계속: 다각형 다루기
이번 장의 구성 ... 105
안드로이드에서 다각형 그리기를 힘들게 하는 걸림돌들 ... 106
직사각형 그리기에 관련된 걸림돌 ... 108
Asteroids를 위한 다각형 클래스 만들기 ... 111
Asteroids에 사용할 PolygonSprite 클래스 ... 117
게임의 전반적인 구조 ... 123
프로젝트 만들기 ... 124
게임 레이아웃 만들기 ... 125
프로젝트에 쓰이는 자원들 ... 125
게임의 수명 주기 ... 127
키 입력과 화면 터치 사건 처리 ... 140
Asteroids를 에뮬레이터에서 시험 ... 145
요약 ... 146
CHAPTER 05 JNI를 이용한 혼성 OpenGL 3D 그래픽
모바일 기기의 성능 ... 151
Java로 OpenGL 다루기 ... 153
Java 전용 버전의 주 활동 ... 157
표면 뷰 ... 159
GLThread ... 163
입방체 렌더러 ... 167
Cube 클래스 ... 171
네이티브 방식의 OpenGL 렌더링 ... 174
주 활동 ... 177
네이티브 연동 클래스 ... 179
기존 클래스들 고치기 ... 181
네이티브 입방체 렌더러 ... 183
네이티브 버전의 입방체 정의 ... 192
예제의 컴파일과 실행 ... 194
OpenGL 게임을 안드로이드로 이식할 때 주의해야 할 사항들 ... 200
베일이 벗겨지다 ... 202
CHAPTER 06 3D 슈팅 게임 에피소드 Ⅰ: 안드로이드용 Wolfenstein 3D
사전 준비 ... 206
이번 장 소스 코드 내려 받기 ... 206
Wolf 3D 소개 ... 207
게임의 전반적인 구조 ... 211
Wolf 3D의 Java 클래스들 ... 213
게임의 주 활동 ... 215
Wolf 3D의 주 메뉴 ... 219
키 입력과 터치 사건 처리 ... 222
게임의 주 루프로 진입 ... 224
네이티브 콜백 호출 ... 226
배경 음악과 효과음 처리 ... 229
게임 컨트롤러 터치 사건 처리부 ... 230
게임 컨트롤러 구현 ... 232
음향 클래스들 ... 242
네이티브 연동 클래스 ... 254
네이티브 계층 ... 258
주 게임 루프의 시작 ... 259
콜백: C에서 Java 메서드를 호출 ... 263
네이티브 라이브러리 만들기 ... 272
Makefile 작성 ... 272
JNI 헤더와 DSO 생성 ... 274
Wolf 3D를 에뮬레이터로 시험 ... 275
요약 ... 278
CHAPTER 07 3D 슈팅 게임 에피소드 Ⅱ: 안드로이드용 Doom
Java/C 조합의 위력 ... 280
Doom을 모바일 기기로 이식하기 ... 282
Doom 게임의 전반적인 구조 ... 285
Java 계층의 주 활동 ... 287
생성 처리부 ... 288
게임 UI 레이아웃 ... 289
메뉴 생성 및 선택 처리부 ... 292
키 입력 및 터치 사건 처리부 ... 294
네이티브 콜백 처리부 ... 296
게임 컨트롤러 ... 302
음향 처리 클래스들 ... 304
네이티브 연동 클래스 ... 305
콜백 청취자 인터페이스 ... 306
네이티브 메서드들 ... 306
C에서 Java로의 콜백들 ... 308
네이티브 계층 ... 311
네이티브 메서드 구현 ... 312
원본 코드 고치기 ... 327
Doom 네이티브 라이브러리(DSO) 컴파일하기 ... 337
안드로이드용 Doom을 에뮬레이터로 시험 ... 339
프로젝트 완수! ... 342
부록 A 설치 및 컴파일 요령
응용프로그램 서명 ... 343
키 저장소 만들기 ... 344
응용프로그램 서명 ... 345
안드로이드 NDK를 이용해서 제6장, 7장 예제 라이브러리 컴파일하기 ... 348
NDK 1.5로 Wolf 3D 컴파일하기 ... 351
공유 라이브러리 컴파일 ... 354
NDK 1.5에서 OpenGL ES 사용하기 ... 355
NDK 1.6으로 Doom 네이티브 라이브러리 컴파일하기 ... 357
책을 마치며 ... 360
부록 B NDK r3 활용
NDK r3으로 제5장 OpenGL 입방체 예제 컴파일하기 ... 364
폴더 구조 준비 ... 364
Eclipse 프로젝트 준비 ... 365
네이티브 라이브러리의 컴파일 및 링크 ... 367
Java 소스 수정 및 실행 ... 370
NDK r3으로 제6장 Wolfenstein 3D 컴파일하기 ... 371
찾아보기 ... 375
더보기 닫기