DirectX 9.0 의 소개 DirectX SDK 의 사용법 C 또는 C++ 에 의한 DirectX 프로그래밍 AppWizard   [목차열람] [주소복사] [슬롯비우기]
AppWizard
 
Microsoft DirectX 9.0

AppWizard


Microsoft® DirectX® AppWizard 는, DirectX 의 공통의 구성 요소와 통합할 수 있는 소규모의 C++ 템플릿 애플리케이션을 생성 한다. 이러한 구성 요소는, Microsoft Direct3D®, Microsoft DirectInput®, Microsoft DirectMusic®, Microsoft DirectSound®, 및 Microsoft DirectPlay® 이다. 이것에 의해, 생성이 간단한 기본적인 기능을 얻을 수 있음과 동시에, 각 구성 요소의 사용법을 알 수 있다.

AppWizard 에는, 템플릿 외에도, DirectX 소프트웨어 개발 킷 (SDK)의 공통 디렉토리에 있는 것과 같은 C++ 클래스가 포함되어 있다. 이러한 C++ 클래스는, 사용자가 곧바로 개발을 시작 할 수 있도록(듯이), DirectX 의 최소 랩핑을 실행할 수 있다. 모든 DirectX  SDK 샘플은, 이러한 클래스를 사용하고 있다. 예를 들어, Direct3D 샘플은 D3dapp. *, DirectMusic 샘플은 Dmutil. *, DirectSound 샘플은 Dsutil. *, DirectPlay 샘플은 Netconnect. * (을)를 각각 사용하고 있다.

AppWizard 의 대상 사용자는, 아마츄어의 C++ 게임 개발자, 3D 를 취미로 하는 사용자, 및 오디오를 취미로 하는 사용자 (3D 를 필요로 하지 않는 사용자)이다.

AppWizard 의 실행

AppWizard 는, 새로운 프로젝트를 생성 할 경우에 Microsoft Visual Studio® 6.0 으로부터 기동한다. 다음 예가 나타내듯이 AppWizard 는,[파일] 메뉴의 [신규 생성] 을 클릭해,[프로젝트] 탭을 클릭했을 때에 이용할 수 있는 프로젝트 타입의 1 개이다.

[신규 생성] 다이얼로그 박스의 [프로젝트] 탭

프로젝트명을 입력해 [OK] 를 클릭 하면, 일련의 다이알로그 박스가 표시되어 애플리케이션으로 필요한 DirectX 서비스를 설정할 수 있다. 위저드가 생성하는 다이알로그 박스의 수는, 선택하는 DirectX 테크놀러지에 따라서 다르다. Direct3D, DirectInput, 및 DirectPlay 는, 각각 독자적인 다이알로그 박스를 생성한다. 프로젝트에 포함되는 파일은, 선택한 DirectX 테크놀러지에 가세해, Microsoft Windows® 테크놀러지에 의해 선택된 Microsoft Win32®, Microsoft Foundation Classes (MFC), 및 Graphics Device Interface (GDI)에 따라서 다르다. 다음 예가 나타내듯이 이러한 테크놀러지는 위저드의 최초의 페이지로 선택한다.

스텝 1 :

이 위저드에는 3 개의 스텝이 있다. 스텝 1 은 최초의 페이지, 스텝 2 는 [Direct3D] 페이지, 스텝 3 은 [DirectInput] 페이지이다. [DirectMusic] 및 [DirectSound] 옵션을 선택해도 추가의 페이지는 생성되지 않지만,[DirectPlay Peer-to-Peer] 옵션을 선택 하면 추가의 페이지가 생성된다.

위저드는, 사용자가 선택하는 옵션에 근거해, 4 개의 베이스 템플릿중 1 개을 사용한다.

[Direct3D],[DirectInput], 및 [DirectPlay] 의 각 체크 박스를 온으로 하면 모두 위저드에 다른 페이지가 추가된다. 이러한 페이지에 대해서는, 이하로 설명한다.

[Direct3D] 페이지

스텝 1 으로 [Direct3D] 체크 박스를 온으로 했을 경우, 최초의 페이지의 바로 후에, 다음의 [Direct3D] 페이지가 표시된다.

스텝 2 :

스텝 1 은 위저드의 최초의 페이지이기 (위해)때문에,[Direct3D] 페이지는 스텝 2 가 된다.

Direct3D 전용의 옵션에는, 다음의 것이 있다.

  1. [Blank]. Direct3D 개체는 생성 되지 않는다.
  2. [Triangle]. 연속한 삼각형이 있는 단순한 개체를 생성 한다.
  3. [Teapot]. D3DXCreateTeapot 를 사용해 복잡한 개체를 생성 한다.

[Direct3D fonts] 체크 박스를 온으로 했을 경우는, 프로젝트에는 D3dfont.cpp 및 D3dfont.h 가 포함된다. 그렇지 않은 경우는,D3DXCreateFont 를 사용해 3D 폰트가 표시된다.

[3D meshes] 체크 박스를 온으로 했을 경우는, 프로젝트에는 D3dfile.cpp 및 D3dfile.h 가 포함된다.

[DirectInput] 페이지

스텝 1 으로 [DirectInput] 체크 박스를 온으로 했을 경우, Direct3D 페이지의 바로 후에, 다음의 [DirectInput] 페이지가 표시된다.

스텝 3 :

[DirectInput] 페이지는 스텝 3 이다. 이 페이지의 옵션에는 다음의 것이 있다.

스텝 1 으로 [DirectInput] 체크 박스를 온으로 했을 경우, 프로젝트에는 Diutil.cpp 및 Diutil.cpp 파일이 포함된다. DirectX SDK 샘플인 (SDK 루트) \Samples\bin\Donut3D.exe 는, 이러한 클래스 파일을 사용한다.

애플리케이션은 액션 맵퍼 또는 키보드 장치 개체를 사용해, 키 상태를 기록한다. 이러한 모두 온으로 하지 않는 경우, WM_KEYDOWN 메시지를 사용해 키 상태가 기록된다.

[DirectMusic] 및 [DirectSound] 체크 박스

이러한 체크 박스는, 위저드의 페이지 1 에 표시된다. 이러한 체크 박스를 온으로 해도, 위저드에 페이지는 추가되지 않는다.

[DirectMusic] 체크 박스를 온으로 하면 프로젝트에는 Dmutil.cpp 및 Dmutil.h 가 포함된다. DirectMusic 샘플은 이러한 파일을 사용한다.

[DirectSound] 체크 박스를 온으로 하면 프로젝트에는 Dsutil.cpp 및 Dsutil.h 가 포함된다. DirectSound 샘플은 이러한 파일을 사용해 사운드를 로드해, 재생한다.

[DirectMusic] 및 [DirectSound] 체크 박스를 양쪽 모두 온으로 하면 DirectMusic 를 사용해 사운드가 로드 되어 재생되지만, 프로젝트에는 Dsutil. * 하지만 포함된다.

[DirectMusic] 또는 [DirectSound] 의 몇개의 체크 박스를 온으로 하면 Bounce.wav 가 프로젝트에 포함된다. A 키를 누르면 사운드가 재생된다.

[DirectMusic] 및 [DirectSound] 체크 박스를 양쪽 모두 오프로 하면 Bounce.wav 는 포함되지 않고, A 키는 기록되지 않는다. 또, 헬프의 캐릭터 라인도 표시되지 않는다.

[DirectPlay] 페이지

스텝 1 으로 [DirectPlay Peer-to-Peer] 체크 박스를 온으로 했을 경우,[DirectInput] 페이지의 바로 후에, 다음의 [DirectPlay] 페이지가 표시된다.

스텝 4 :

스텝 1 은 위저드의 최초의 페이지, 스텝 2 는 [Direct3D] 페이지, 스텝 3 은 [DirectInput] 페이지와 하면,[DirectPlay] 페이지는 스텝 4 가 된다.

[DirectVoice] 체크 박스를 온으로 하면 프로젝트에는 Netvoice.cpp 및 Netvoice.h 가 포함된다. DirectPlay Voice 샘플은 이러한 파일을 사용한다.

프로젝트는 [NetConnect DirectPlay connection] 다이알로그 박스를 애플리케이션에 통합한다. [NetConnect] 다이알로그 박스가 종료 하면, DirectPlay 접속이 성공하는지, 실패한다. 접속에 성공했을 경우, DirectPlay 를 사용해 모든 player간에 방향 키 상태가 건네받는다.

DirectInput 액션 맵퍼를 사용하는 경우, DirectPlay 는 네트워크에 축데이터를 송신한다. 사용하지 않는 경우, 4 개의 방향 키 상태를 송신한다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP