이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
XNA 4.0 Game Development by Example 한국어판
마이크로소프트 XNA 4.0 게임 프로그래밍
가격
30,000
10 27,000
YES포인트?
1,500원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

1장 XNA 게임 스튜디오 소개
___예제 게임 소개
___시스템 요구 사항
___XNA 게임 스튜디오 설치
____________실습 예제 | XNA 게임 스튜디오 설치
___첫 번째 게임 만들기
____________실습 예제 | 윈도우 게임 프로젝트 만들기
______XNA Game 클래스 분석
_________변수 선언 영역
____________실습 예제 | 클래스 선언 영역에 변수 추가
_________Game1 클래스 생성자
_________Initialize() 함수
____________실습 예제 | Initialize() 함수 수정
_________LoadContent() 함수
____________실습 예제 | squareTexture 만들기
_________Update() 함수
____________실습 예제 | Update() 함수 코드 작성
_________Draw() 함수
____________실습 예제 | 그리기
____________실습 예제 | 사각형 추적 게임 실행하기
___정리

2장 플러드 컨트롤: 수중 퍼즐 게임
___퍼즐 게임 디자인
____________실습 예제 | 플러드 컨트롤 프로젝트 생성
___콘텐츠 파이프라인 소개
____________실습 예제 | 텍스처 파일을 메모리에 로드
___스프라이트와 스프라이트 시트
___플러드 컨트롤에서 사용된 클래스 분석
___GamePiece 클래스
______GamePiece 클래스 만들기
____________실습 예제 | GamePiece 클래스 생성: 선언 영역
______GamePiece 생성자
____________실습 예제 | GamePiece 생성자 코드 작성
______GamePiece 업데이트
____________실습 예제 | GamePiece 클래스 함수 작성 첫 번째: 속성 업데이트
______파이프 회전
____________실습 예제 | GamePiece 클래스 함수 작성 두 번째: 회전
______파이프 커넥터
____________실습 예제 | GamePiece 클래스 함수 작성 세 번째: 연결 함수
______스프라이트 시트 좌표계
____________실습 예제 | GamePiece 클래스 함수 작성 네 번째: GetSourceRect
___GameBoard 클래스
____________실습 예제 | GameBoard.cs 파일과 클래스 생성
______GameBoard 만들기
____________실습 예제 | GameBoard 초기화
______GamePiece 업데이트
____________실습 예제 | GameBoard 제어
______공백 채우기
____________실습 예제 | 공백 채우기
______새로운 파이프 생성
____________실습 예제 | 새로운 파이프 생성
______물로 채워진 파이프 처리
____________실습 예제 | 물로 채워진 파이프 관리
______파이프를 통한 물 흐름처리
____________실습 예제 | 파이프 연결 관계 만들기
___게임 만들기
______선언 영역
____________실습 예제 | Game1 선언 영역
______초기화: Initialize() 함수
____________실습 예제 | Initialize() 함수 업데이트
______Draw() 함수: 타이틀 화면
____________실습 예제 | 타이틀 화면 그리기
______Draw() 함수: 게임 플레이 화면
____________실습 예제 | 플레이 화면 그리기
______점수 관리
____________실습 예제 | 연결된 파이프 개수에 따른 점수 계산
______입력 처리
____________실습 예제 | 마우스 입력 처리
______플레이 가능하게 만들기
____________실습 예제 | 플레이 가능하게 만들기
___게임 실행
___정리

3장 플러드 컨트롤: 게임 완성도 높이기
___파이프 애니메이션
______파이프 애니메이션을 위한 클래스
____________실습 예제 | 파이프 회전
____________실습 예제 | 떨어지는 파이프 애니메이션
____________실습 예제 | 사라지는 파이프 애니메이션
______파이프 애니메이션 관리
____________실습 예제 | 파이프 애니메이션 지원을 위한 GameBoard 클래스 수정
______페이드 애니메이션
____________실습 예제 | 페이드 애니메이션 객체 추가
______낙하 애니메이션
____________실습 예제 | 낙하 애니메이션 객체 추가
______회전 애니메이션
____________실습 예제 | 회전 애니메이션 객체 추가
______UpdateAnimatedPieces() 함수 호출
____________실습 예제 | 파이프를 애니메이션 업데이트를 위한 Game1 클래스 수정
______파이프 애니메이션 그리기
____________실습 예제 | 파이프 애니메이션을 그리기 위해 Game1 클래스 수정
_________SpriteBatch 확장
___SpriteFont
____________실습 예제 | SpriteFont 추가
______점수 출력
____________실습 예제 | 점수 출력
______ScoreZooms
____________실습 예제 | ScoreZoom 클래스 생성
____________실습 예제 | ScoreZoom 출력과 업데이트
______GameOver 상태 추가
____________실습 예제 | Game Over
___홍수 처리
____________실습 예제 | 홍수 수치 관리
______홍수 그리기
____________실습 예제 | 홍수 그리기
______게임 난이도 높이기
____________실습 예제 | 난이도 높이기
___정리

4장 아스테로이드 벨트 어설트: 우주 미아
___프로젝트 생성
____________실습 예제 | 아스테로이드 벨트 어설트 프로젝트 생성
___'스프라이트'의 또 다른 정의
______Sprite 클래스 생성
____________실습 예제 | Sprite 클래스 정의
____________실습 예제 | Sprite 생성자
____________실습 예제 | Sprite 기본 프로퍼티
____________실습 예제 | animation과 drawing 프로퍼티
______충돌 감지
____________실습 예제 | 충돌 감지 지원하기
______이동과 애니메이션
____________실습 예제 | 애니메이션 프레임 추가
____________실습 예제 | Sprite 업데이트
____________실습 예제 | 스프라이트 그리기
___스프라이트 기반 우주전장 생성
____________실습 예제 | StarField 클래스 생성
____________실습 예제 | StarField 업데이트와 그리기
____________실습 예제 | StarField 보기
___애니메이션 스프라이트: 소행성
____________실습 예제 | AsteroidManager 클래스 생성
______소행성 배치
____________실습 예제 | 소행성 배치하기
____________실습 예제 | 소행성의 위치 체크하기
____________실습 예제 | 소행성 그리기와 업데이트
___소행성 충돌
____________실습 예제 | 튕겨나가는 소행성 1
____________실습 예제 | 튕겨나가는 소행성 2
___플레이어와 적의 미사일
____________실습 예제 | ShotManager 클래스 추가하기
____________실습 예제 | 미사일 발사
____________실습 예제 | 미사일 업데이트와 그리기
___플레이어 추가
____________실습 예제 | PlayerManager 클래스 추가
______사용자 입력 다루기
____________실습 예제 | 사용자 입력 다루기
____________실습 예제 | 플레이어의 우주선을 업데이트하고 그리기
___적 우주선
____________실습 예제 | Enemy 클래스 생성
____________실습 예제 | 경로 관리
____________실습 예제 | 적 업데이트와 그리기
______EnemyManager 클래스
____________실습 예제 | EnemyManager 클래스 생성
______좌표 관리
____________실습 예제 | EnemyManager 클래스 설정하기
____________실습 예제 | 적 배치하기
____________실습 예제 | EnemyManager 업데이트와 그리기
___정리

5장 아스테로이드 벨트 어설트: 특수 효과
___폭발 효과
______스프라이트 확장하기: 입자
____________실습 예제 | Particle 클래스 구성하기
____________실습 예제 | 입자 업데이트와 그리기
______입자 폭발
____________실습 예제 | ExplosionManager 클래스
____________실습 예제 | 폭발 생성하기
____________실습 예제 | 폭발 업데이트와 그리기
___충돌 매니저
____________실습 예제 | CollisionManager 클래스 생성
______충돌 제어
____________실습 예제 | 플레이어 미사일 충돌
____________실습 예제 | 플레이어 충돌
____________실습 예제 | CollisionManager 클래스 사용하기
___사운드 효과
______사운드 효과 생성과 검색
______XNA에서의 사운드
____________실습 예제 | 사운드 효과 매니저 구현하기
____________실습 예제 | SoundManager 클래스 사용하기
___게임 구조
____________실습 예제 | 게임 구조 정하기
____________실습 예제 | 게임 구조 그리기
___정리

6장 로봇 소동: 멀티 축 카오스
___스태틱, 스태틱, 스태틱
____________실습 예제 | 로봇 소동 프로젝트 생성
___화면보다 더 큰 세상
______카메라 정의
____________실습 예제 | Camera 클래스 생성
______월드를 아는 스프라이트
____________실습 예제 | 새로운 Sprite 클래스 생성
______뷰 시각화
____________실습 예제 | Sprite와 Camera 클래스 액션 보기
___게임 월드: 타일 기반 맵
______타일
______타일 맵
____________실습 예제 | TileMap 클래스 생성
______맵 스퀘어
____________실습 예제 | 맵 스퀘어 다루기
______타일 다루기
____________실습 예제 | 타일 다루기
______맵 그리기
____________실습 예제 | 타일 맵 그리기
______랜덤 맵 생성
____________실습 예제 | 임의로 벽 교체하기
___플레이어 추가
______Player 클래스 구현
____________실습 예제 | Player 클래스 구현하기
______월드 돌아다니기
____________실습 예제 | 입력 다루기
______경계 설정
____________실습 예제 | 경계 설정하기
______타일에서의 움직임
____________실습 예제 | 벽에 부딪히기
___정리

7장 로봇 소동: 많고 많은 탄환
___시각화 효과
______입자 다시 살펴보기
____________실습 예제 | Particle 클래스
______EffectsManager 클래스
____________실습 예제 | EffectsManager 클래스
____________실습 예제 | 폭발 구현하기
____________실습 예제 | 스파크 효과
___무기 추가
______WeaponManager 클래스
____________실습 예제 | WeaponManager클래스 시작하기
______무기 업그레이드
____________실습 예제 | 새로운 무기
______포탄과 맵의 충돌
____________실습 예제 | 타일과 포탄의 충돌
______파워 업
____________실습 예제 | 파워 업
______여전히 발생하는 문제
___경로 찾기
______A* 경로 찾기 알고리즘
______A* 구현하기
____________실습 예제 | PathNode 클래스
____________실습 예제 | A* 알고리즘 구현 시작하기
____________실습 예제 | 경로 찾기
____________실습 예제 | 적합한 스퀘어
______파워 업 아이템의 안전한 배치
____________실습 예제 | WeaponManger 클래스 업데이트
___플레이어의 목표
______컴퓨터 터미널
____________실습 예제 | 컴퓨터 터미널 생성
______컴퓨터 터미널 배치
____________실습 예제 | GoalManager 클래스
___적 로봇
______적에 대한 기본적인 사항
____________실습 예제 | Enemy 클래스 구현하기
______움직이는 적
____________실습 예제 | 적의 AI 함수
______적 로봇 매니저
____________실습 예제 | 적 로봇 매니저
______WeaponManager 업데이트
____________실습 예제 | 적 파괴하기
___게임 구조
____________실습 예제 | GameManager 클래스
______점수 유지
____________실습 예제 | 점수 얻기
______Game1 업데이트
____________실습 예제 | Game1 클래스 업데이트
___정리

8장 보석 사냥꾼: 플렛폼 게임 개발 시작
___그래픽 리소스 준비
___실습 예제 | 프로젝트 만들기
___향상된 타일 엔진
____________실습 예제 | MapSquare 클래스
______카메라 클래스 코드의 재활용
____________실습 예제 | Camera 클래스
______타일 엔진 구성
____________실습 예제 | TileMap 클래스 1단계
____________실습 예제 | TileMap 클래스 2단계
______타일 맵 그리기
____________실습 예제 | TileMap 클래스 3단계
____________실습 예제 | 타일 맵을 게임 프로젝트에 추가
___맵 에디터 프로젝트
______맵 에디터 프로젝트 생성
____________실습 예제 | Level Editor 프로젝트 생성
______폼 추가
____________실습 예제 | Form 추가
____________실습 예제 | 이벤트 핸들러 추가
______폼 UI 만들기
____________실습 예제 | 메뉴 바 생성
____________실습 예제 | 타일 선택 컨트롤
____________실습 예제 | 스크롤바 추가
____________실습 예제 | 컨트롤 작업 마무리
______Game1 클래스 수정
____________실습 예제 | Game1 클래스 수정
____________실습 예제 | Game1 클래스의 Update() 함수 수정
______폼과 게임 연결
____________실습 예제 | 맵 에디터 완성하기 1단계
____________실습 예제 | 타일 스크롤링 문제 해결
______맵 데이터 읽기와 저장
____________실습 예제 | 맵 데이터 읽기와 저장 기능 구현
______Passability
______맵 코드
___마지막 남은 이슈 해결
____________실습 예제 | FormClosed 이벤트 핸들러 작성
___정리

9장 보석 사냥꾼: 게임 완성
___애니메이션 스트립
____________실습 예제 | Animation 클래스 만들기
___애니메이션 가능한 게임 객체
____________실습 예제 | GameObject 클래스 작성 1
______객체 이동 처리, 애니메이션 업데이트, 그리기
____________실습 예제 | GameObject 클래스 작성 2
______맵 기반 충돌 검사
____________실습 예제 | GameObject 클래스 작성 3
___플레이어
____________실습 예제 | Player 클래스 생성
______달리기
____________실습 예제 | Update 함수 오버라이딩 1
______점프
____________실습 예제 | Update() 함수 오버라이딩 2
______화면 중심으로 캐릭터 배치
____________실습 예제 | 카메라 위치 수정
___레벨 로드
______LevelManager 클래스
____________실습 예제 | LevelManager 클래스 생성
___보석
____________실습 예제 | GemStone 클래스 생성
______점수 관리
____________실습 예제 | 점수 관리 구현
___적 구현
____________실습 예제 | 좀비 생성
______플레이어와 적 사이의 상호작용
____________실습 예제 | 좀비와 상호작용
___레벨 이동
____________실습 예제 | 레벨 이동 지원
___나머지 Code 처리
____________실습 예제 | Code 처리
___게임 구조
____________실습 예제 | 게임 상태 구현
___정리

저자 소개

저자 : 커트 재거스(Kurt Jaegers)
낮에는 DBA로 일하고 밤에 취미로 게임을 개발하며, 코모도어(Commodore) 64부터 엑스박스 360에 이르기까지 다양한 게임을 만들어왔다. 또한 XNA 관련 자료와 튜토리얼을 제공하는 xnaresources.com의 운영자이기도 하다.
역자 : 김동훈
2008년 이매진컵 게임 개발 분야에서 세계 3위를 한 것을 계기로 XNADev 사이트, 네이버 XNA 카페, 블로그, 오프라인 강연, 공모전 멘토링 등 다양한 방법으로 XNA를 알리는 데 힘쓰고 있다. 현재 마이크로소프트 XNA/DirectX MVP며, 모바일 게임 개발 업체인 GomZ Game Studio 대표다.
역자 : 김유나
데브피아 마이크로소프트 XNA 마을의 시샵이며, UX베이커리, XNAdev (http://xnadev.co.kr)의 운영진이다. 마이크로소프트 학생 파트너(MSP, Microsoft Student Partner) 1기, 마이크로소프트 MVP(XNA/DirectX)로 철학을 담을 수 있는 엔지니어, Civilized Engineer를 꿈꾼다.

품목정보

발행일
2011년 12월 15일
쪽수, 무게, 크기
528쪽 | 970g | 188*235*35mm
ISBN13
9788960772533

책 속으로

2007년 마이크로소프트의 이매진컵ImagineCup을 준비하면서 처음 접했던 XNA 1.0이 이제 5년의 시간이 흘러 4.0이 됐습니다. 처음 배울 때 레퍼런스가 없어 많은 삽질을 통해 괴로워하고 깨달았던 기억이 아직도 생생합니다. 공모전이라는 특성상 데드라인은 정해진 것이고, 게임은 반드시 개발해야 했기에 그 어느 때보다 스트레스가 심했습니다. 다행히 이런 노력이 좋은 결과로 이어져 이매진컵 2008에서 게임 개발 분야 세계 3위를 수상했습니다. 상은 받았지만, 목표를 잃어 마음 한 구석이 허탈해진 제게 당시 한국 마이크로소프트의 유재성 사장님께서 "이렇게 공모전을 통해 배운 열정과 지식을 이제 후배들에게 알려주는 일이 남아있다."라고 말씀해주셨습니다. 이후 지식 공유는 제 인생의 한 축이 됐습니다.

2008년 후반부터 지금까지 XNA 게임 개발과 관련된 내용을 블로그, 강연, 멘토링, 카페, 이메일 등 다양한 방법으로 알리고 있지만, 주로 공모전과 학교 과제에서만 XNA를 이용해 아직 제대로 활성화되지 않고 있습니다. 다행히 윈도우폰 7의 게임 개발에서 XNA가 필수가 되면서 이제 XNA가 좀 더 알려질 수 있게 됐습니다.

『XNA 4.0 Game Development by Example 한국어판』은 초보자도 쉽게 따라 하고 호기심을 느끼도록 다양한 장르의 게임(플랫포머, 퍼즐, 비행기 슈팅, 2D 탱크 게임)을 튜토리얼 형태로 소개합니다. XNA를 처음 접하는 독자를 대상으로 작성된 책이기 때문에 부담 없이 배울 수 있습니다.

그럼에도 불구하고 책을 공부하면서 이해되지 않는 부분이 있을 수 있어, 이를 위해 XNADev(http://xnadev.co.kr) 사이트에 질문을 올릴 수 있는 공간을 만들어 뒀습니다. 간단한 질문에도 번개처럼 성실한 답변을 해드리니 부담 없이 질문을 올려주세요. 또한 네이버 XNA 카페(http://cafe.naver.com/xna)에 올리거나, 역자에게 직접 이메일을 보내도 됩니다.
- 김동훈


#define XNA

XNA라는 단어가 딱히 어떤 의미를 가진 단어는 아니라는 마이크로소프트의 공식 답변에도 불구하고 XNA는 어째서인지 무언가를 의미할 것만 같습니다. 2005년 GDC에서 프로젝트로 발표된 이후 PC, 엑스박스, 준(Zune)을 거쳐 윈도우폰 7의 주요 기술로 자리매김한 XNA는 많은 개발자와 기획자, 디자인/사운드 효과 팀이 협업하며, 그들의 메시지를 담는 게임을 만드는 개발 경험을 이끌어왔습니다.

your dream game - build it today - millions may play it tomorrow

"여러분의 꿈의 게임, 오늘 만들어 보세요, 내일이면 전 세계 수백만 명이 즐길 것입니다."라는 모토를 가진 XNA를 『XNA 4.0 Game Development by Example 한국어판』을 통해 국내에 소개할 수 있게 된 것은 제게 매우 행운이라고 생각합니다. 단순히 레퍼런스가 아니라 게임을 이야기할 수 있는 내용으로 구성된 책이기 때문에 제게도 더 의미 있는 작업이 될 수 있었고, 독자 여러분께도 좋은 메시지를 전달할 수 있으리라 기대합니다.

- 김유나

- 김동훈


#define XNA

XNA라는 단어가 딱히 어떤 의미를 가진 단어는 아니라는 마이크로소프트의 공식 답변에도 불구하고 XNA는 어째서인지 무언가를 의미할 것만 같습니다. 2005년 GDC에서 프로젝트로 발표된 이후 PC, 엑스박스, 준(Zune)을 거쳐 윈도우폰 7의 주요 기술로 자리매김한 XNA는 많은 개발자와 기획자, 디자인/사운드 효과 팀이 협업하며, 그들의 메시지를 담는 게임을 만드는 개발 경험을 이끌어왔습니다.

your dream game - build it today - millions may play it tomorrow

"여러분의 꿈의 게임, 오늘 만들어 보세요, 내일이면 전 세계 수백만 명이 즐길 것입니다."라는 모토를 가진 XNA를 『XNA 4.0 Game Development by Example 한국어판』을 통해 국내에 소개할 수 있게 된 것은 너무나 행운이라고 생각합니다. 단순히 레퍼런스가 아니라 게임을 이야기할 수 있는 내용으로 구성된 책이기 때문에 제게도 더 의미 있는 작업이 될 수 있었고, 독자 여러분께도 좋은 메시지를 전달할 수 있으리라 기대합니다.

- 김유나

---옮긴이의 글 중에서

출판사 리뷰

이 책에서는 XNA를 통해 게임을 만드는 데 필요한 개념과 구현 요소를 소개한다. 퍼즐 게임, 비행 슈팅 게임, 엑스박스 360 게임패드를 활용한 탱크 게임, 슈퍼마리오 스타일의 플랫폼 게임까지 다양한 장르의 예제 게임을 제공하고, 독자의 아이디어와 창의성을 게임에 적용하는 데 필요한 배경 지식과 구현 기술을 소개한다.

★ 이 책에서 다루는 내용 ★

■ XNA 게임 스튜디오 설치와 게임 프로젝트 생성
■ 게임 상태, 재귀 호출, 2D 스프라이트 애니메이션을 이용한 퍼즐 게임 개발
■ 사운드 효과와 충돌, 입자 기반 폭발을 통한 비행 슈팅 게임 개발
■ 타일 맵과 경로 찾기, 다수의 총알을 구현하기 위한 입자 시스템이 적용된 탱크 게임 개발
■ XNA와 윈도우 폼이 결합된 멀티레이어 타일 맵을 지원하는 맵 에디터 개발
■ 맵 에디터와 타일 엔진이 통합된 슈퍼마리오 스타일의 플랫폼 게임 개발

★ 이 책의 특징 ★

■ 필수 노하우에 대한 친절하고 명쾌한 단계적 설명
■ 배운 내용을 바로 응용할 수 있는 경험을 통한 학습
■ 지겹고 뻔한 내용의 과감한 생략
■ 독자의 상상력을 자극하는 생생하고 재미있는 예제
■ 참여를 유도하는 예제와 과제

★ 이 책의 대상 독자 ★

XNA 프레임워크로 게임을 만드는 데 관심 있는 개발자에게 이 책을 추천한다. 또한 이 책은 게임 개발 경험이 없는 개발자도 쉽게 따라올 수 있게 구성했다. 물론 C#에 대한 기본적인 이해와 지식이 있다면 빠르게 배울 수 있지만, 없더라도 시작할 수 있게 책에서 기본 요소를 충분히 설명했다.

★ 이 책의 구성 ★

1장. XNA 게임 스튜디오 소개에서는 XNA 프레임워크의 역사, XNA 설치법, XNA 게임 스튜디오에 대해 알아본다. 1장 후반부에서부터 실습을 시작해 '사각형 추적하기'라는 미니 게임을 만든다.

2장. 플러드 컨트롤: 수중 퍼즐 게임에서는 플러드 컨트롤이라는 퍼즐 게임을 소개한다. 이 게임을 통해 XNA 콘텐츠 파이프라인 사용법과 기본적인 게임 상태 처리, 재귀 함수 호출을 통한 점수 계산 방법을 알아본다.

3장. 플러드 컨트롤: 게임 완성도 높이기에서는 미완성인 플러드 컨트롤을 좀 더 다듬어 회전/낙하/페이드 애니메이션 효과와 점수 처리, 텍스트 출력 방법 등을 알아본다.

4장. 아스테로이드 벨트 어설트: 우주 미아에서는 우주 공간을 소재로 슈팅 게임인 아스테로이드 벨트 어설트를 소개한다. 이 게임을 통해 슈팅 게임의 기본기와 입자 시스템을 사용한 전장 움직임, 프레임 기반 스프라이트 애니메이션을 알아본다. 또한 전장에 움직이는 소행성을 추가해 플레이어와 충돌을 처리하고, 적 우주선과의 상호작용을 통해 현실적인 느낌과 재미를 줄 수 있도록 한다.

5장. 아스테로이드 벨트 어설트: 특수 효과에서는 아스테로이드 벨트 어설트에 추가할 효과를 소개한다. 플레이어와 적 비행기, 소행성, 포탄 간의 충돌에 따라 입자 폭발 효과를 추가하고, 사운드를 재생하는 방법을 알아본다.

6장. 로봇 소동: 멀티 축 카오스에서는 탱크 게임을 통해 엑스박스 360의 컨트롤러와 키보드를 통해 플레이어를 움직이고 미사일을 발사하는 게임을 만든다. 타일 기반의 맵과 카메라 클래스를 두어 큰 게임 세계의 화면 출력을 관리하는 방법과, 타일 맵의 벽과 플레이어의 충돌 처리 방법을 알아본다.

7장. 로봇 소동: 많고 많은 탄환에서는 입자 기반 충돌 시스템을 확장해 많은 총탄을 구현하는 방법과, 적 배치, 승리 조건, 무기 업그레이드 시스템 등을 알아본다. 또한 A* 경로 찾기 알고리즘을 구현해 적의 탱크가 플레이어를 추격할 수 있게 한다.

8장. 보석 사냥꾼: 플랫폼 게임 개발 시작에서는 보석 사냥꾼 게임을 통해 점프와 뛰기를 기반으로 한 횡 스크롤 게임 방식을 알아본다. 7장에서 구현한 타일 맵 시스템을 더 발전시켜 멀티레이어를 지원하고, XNA와 윈도우 폼을 엮어 맵 에디터를 만든다. 맵 에디터 프로젝트를 만들면서 여러 프로젝트를 포함하는 솔루션을 구성하는 방법과 게임 라이브러리 프로젝트를 만드는 방법을 알아본다.

9장. 보석 사냥꾼: 게임 완성에서는 8장에서 완성한 맵 에디터 파일을 읽어 들여 실제 게임으로 만들고, 플레이어와 적, 보석 간의 상호작용을 구현한다. 완성된 게임을 만들기 위한 이벤트 처리와 객체지향 구조 설계를 통해 여러분은 XNA 전문가가 될 수 있을 것이다.

리뷰/한줄평0

리뷰

첫번째 리뷰어가 되어주세요.

한줄평

첫번째 한줄평을 남겨주세요.