티스토리 툴바


XNA 4.0 기본 함수 6가지


  XNA 프레임워크의 기본 구조를 한번 알아봅시다.

  XNA로  게임을 만들 때, 코딩을 완료하고 디버깅(F5)을 시작하면 XNA 내부에서 어떻게 처리를 할까요? 

  프로젝트를 생성할 때 기본적으로 생성되는 소스코드를 보면, 기본적인 동작원리를 알 수 있다고 합니다.
  자동 생성되는 소스를 분석하면 기본 함수가 6가지가 있고, 이 함수들은 아래와 같이 동작합니다.

 



XNA 기본 동작 원리
(인용:톡톡튀는 XNA를 이용한 단계별 슈팅게임 만들기 p.28)


Game1()

GraphicDeviceManager 생성

- 초당 프레임 60 으로 지정

  

Initialize()

- 프로젝트 초기화 작업 수행

- 서비스 요청 및 그래픽을 제외한 나머지 Asset 로딩

 

LoadContent()

- Content Pipeline에 추가시킨 에셋 불러오는 작업

 

Update()

- 사용자 입력, 캐릭터 이동, 애니메이션 등 게임 기능의 대부분을 처리하는 함수

 

Draw()

- 주기적으로 반복 처리해야 하는 그래픽 관련 코드 입력

 

UnloadContent()

- Initialize(), LoadContent() 에서 로드했던 각종 에셋 해제



  위 그림에서 알 수 있듯이, 게임 실행 및 게임에서 사용할 각종 Resource에 대한 초기화와 로딩이 끝나고 나면, [ Update() - Draw() ]를 반복하면서 게임에서 일어나는 각종 이벤트를 처리합니다. Update() 에서는 입력, 게임 상태 처리 등을 하고 Draw() 함수에서 그리기 동작을 수행한다고 합니다.

  설명을 읽다보면 '에셋(asset)'이라는 말이 나오는데, 이 에셋은 편하게 생각해서 'Resource'라고 생각하시면 됩니다. 기본 함수에 포함되지는 않지만, 프로젝트에 필요한 모든 이미지, 사운드, 폰트, 3D 모델 등을 말합니다. 에셋은 'Content'라는 이름의 프로젝트 하위에 위치하게 되는데, 이렇게 말하면 와닿지 않으니 프로젝트 기본화면 및 폴더 구성을 한번 보면서 이야기 해봅시다.





프로젝트 기본 화면 및 폴더 구성



Visual Studio 2010 XNA 개발 기본화면



   XNA
프로젝트의 개발 기본화면은 위 그림과 같습니다.

  기본화면의 오른쪽을 보면 'Solution Explorer'라는 프로젝트 탐색 창이 나오는데, 하나의 솔루션(Solution)안에 두개의 프로젝트(Project)가 생성되어 있습니다. XNA에는 새 프로젝트를 생성하면 기본적으로 하나의 솔루션과 그 솔루션을 구성하는 두개의 프로젝트를 자동 생성합니다. 하나는 프로젝트 생성할 때, 설정했던 이름으로 된 프로젝트 폴더이고, 하나는 '프로젝트이름+Content'라는 이름이 붙은 프로젝트 폴더 입니다.
 

  아래 그림에서 'Proto0' 하위에는 프로그램 Main 클래스와 주요 클래스들이 위치하며, 'Proto0Content'하위에는 게임상에서 불러서 쓰게 될 이미지와 각종 리소스들이 위치하게 되는데, 이들이 바로 에셋(asset)입니다. 제가 예시로 올린 그림에는 'XNA Logo.jpg'라는 파일이 에셋으로서 등록이 되어 있군요.(안드로이드 개발과는 달리, 리소스 파일명 작성시 space bar를 이용한 띄어쓰기를 허용합니다.)







  그럼, 프로젝트 탐색창이 이런 모습일 때, 실제 하드디스크 안의 폴더들은 어떻게 되어 있는지 한번 확인해 봅시다.
  저는 XNA 개발 기본 폴더를 D드라이브(D:\)에 'XNA Project'폴더로 지정했습니다. 그래서 XNA Project를 생성하면 이 폴더 안에 자동으로 Project 폴더들이 생성되게 됩니다. 아래 그림의 왼쪽의 트리 구조를 참고하세요!




 
XNA Project 안에 생성된 폴더와 그 구조
Solution 파일과 폴더, 그리고 그 폴더 내부의 프로젝트 폴더들 





  기본 함수와 동작 원리, 그리고 기본적인 XNA 개발 창에 대해서 이해를 했으니, 이제 본격적으로 개발을 해 볼 차례입니다. 다음 번에는 화면에 이미지를 출력해보겠습니다.



/ Reference /
톡톡튀는 XNA를 이용한 단계별 슈팅게임 만들기





이 게시물이 도움이 되었다면~ 아래 추천 꾸욱~~!! ^_^*

"추천한다고 아무도 뭐라 안합니다이~
경찰 출동 안해요잉~~"

 

Creative Commons License
Creative Commons License




XNA를 이용한 Game Engine

XNA를 이용한 엔진이긴 하지만, XNA를 조금 배운다고 해서 이 정도를 만들어 낼 수는 없다 ;)


 

XNA란?

  XNA는 Microsoft Visual Studio를 이용하여 게임을 개발하기 위한 게임 개발 환경입니다.
  
2006년, Game Developers Conference 를 통해 발표된 이래, 2011년 9월 현재, 4.0 버전까지 공개되어 있습니다. 현재 많은 게임제작업체에서 Visual Studio의 ‘DirectX(언어 : C++)’를 이용하고 있다고 하는데, 아무래도 일반적인 유저에게 진입장벽이 높은 것이 사실입니다. (사실, 제가 할 줄 모르는 건 다 진입장벽이 높은 것으로 치부하고 있습니다. 흐흐) 

  어쨌든, Microsoft에서는 아래의 두 가지 목표를 가지고 개발 프레임워크를 만들었고, 이 목표가 곧 XNA의 가장 큰 특징이 되겠습니다.

CROSS PLATFORM
  요즘 모든 프로그래밍 언어의 숙제이자 목표입니다.
  '내가 한번 짠 코드를 수 많은 디바이스에서 그냥 쓸 수는 없을까?'.
 
Java가 그랬고, C#이 그랬습니다. XNA는 언어로 C#을 이용하고 있고, ‘XNA Framework’를 이용하여, Windows, Windows Phone 7, Xbox360 에서 구동되는 게임을 제작할 수 있습니다. 각 플랫폼간 이식도 자유롭습니다.


EASY TO USE
  저 같은 초보 프로그래머는 RAD(Rapid Application Development)툴이 좋습니다. 쓰기 편하거든요!
  RAD툴을 만들어주는 'Real Programmer'분들이 있는 반면, 저는 RAD 툴이 아니면 뭔가 코딩을 해보고 싶은 맘이 안들 정도로 게으릅니다!
  요즘 비지니스 업계 전략은 역시 [ 낮은 진입장벽 > 빠른 개발도구 및 언어의 보급 > 시장의 빠른 생성 > 수익모델 적용에 따른 이익 창출 ]인 것 같군요. '나눔과 공유의 정신'과 '시장주의'가 절묘하게 결합되어 있는 것 같습니다. 흐흐




XNA 4.0 설치

  기본적으로, XNA Game Studio 4.0은 Windows Phone SDK의 일부분입니다.
  따라서, XNA로 게임을 개발하기 위해서는 아래 두가지 프로그램만 설치해주면 됩니다.

1. Visual Studio 2010 Professional / Express & Service Pack 1 설치

Visual Studio 2010 Professional, 혹은 Express 버전이 필요합니다.
정식으로 정품 Professional 버전을 무료로 쓰는 방법은 아래 포스팅을 참고하세요.


Visual Studio 2010 Professional 정품을 정식 무료 설치법


2. Windows Phone SDK 설치

기존에는 ‘Windows Phone Development Tools’라는 이름으로 배포했으나, 너무 길다고 생각했는지,  'Windows Phone SDK'로 이름이 바뀌었네요~ 아래 링크를 참고하세요.

Windows Phone SDK 7.1 RC 다운 받으러 가기 (APP HUB)
Windows Phone SDK (Windows Phone Development Tools) 설치

 



Windows XP 이용자는 'XNA Game Studio 4.0 Standalone'를 다운받자


  XNA는 운영체제가 Windows XP 일 경우, 위 그림과 같이 APP HUB 홈페이지에서 XNA Game Studio 4.0 Standalone 버전을 설치할 수 있습니다만, 개인적으로 Windows Phone이나 XNA 관련 프로그래밍을 해보고 싶으신 분들은 맘 편하게 Winodws 7, Visual Studio 2010 SP1 + Windows Phone 을 설치하시는 것을 추천합니다.

  저 같은 경우는 Windows Phone 7을 개발하기 위해, 이미 Windows Phone Development Tool을 다운 받아서 설치해놓은 상태였기 때문에
별도로 XNA를 설치할 필요가 없었습니다.

  다만, 예전에는 Visual Studio 2010만 설치가 되어 있으면 바로 Windows Phone SDK를 설치할 수 있었으나, 이번에 제가 설치를 해보니(2011년 9월), Visual Studio 2010 SP1이 반드시 설치가 되어 있어야 Windows Phone SDK를 설치할 수 있었습니다.

 


설치 후, 'Visual Studio 2010'을 실행하면, XNA Game Studio 4.0 메뉴가 생성되어 있다
Windows Phone Game / Windows Game / XBOX 360 Game Templates가 있다
이 세가지를 모두 개발할 수 있다는 얘기가 되겠다




[참고] 개발도구 및 언어 version 정리

  < Visual Studio – .NET Framework - C# – XNA Framework >의 버전은 다음과 같습니다.
  릴리즈 시기에 따라, 표기한 버전이 다를 수 있지만, 어차피 Visual Studio 2010만 쓸 것이기 때문에 참고만 하시기 바랍니다. Visual Studio 2010 + WP SDK을 설치하면 신경 안쓰셔도 되는 부분입니다.






XNA 다른 글 보기



 

수고했다고 칭찬 좀 해주세요~ ㅇ_ㅇ)b

저작자 표시 비영리 변경 금지
Creative Commons License
Creative Commons License