내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Windows Phone 8용 휴대폰과 데스크톱 간 게임 개발의 차이점

2014-06-18

적용 대상: Windows Phone 8 및 Windows Phone Silverlight 8.1만

 

Windows Phone 8 부터는 원시 코드와 Direct3D를 사용하여 Windows Phone 앱을 만들 수 있습니다. 따라서 Windows 8 용 게임과 Windows Phone 8 용 게임을 만들 때 많은 코드와 프로그래밍 기술이 동일합니다. 하지만 더 작은 폼 요소, 다양한 입력 메커니즘 및 사용 가능한 API로 인해 휴대폰 플랫폼용 게임을 만들 때 몇 가지 중요한 차이점을 고려해야 합니다. 이 항목은 휴대폰 플랫폼에서 달라지는 주요 부분을 강조합니다.

이 항목에는 다음 단원이 포함되어 있습니다.

 

Windows Phone 8 에서는 DirectX 라이브러리의 일부 API를 지원합니다. 특히 WIC(Windows Imaging Component) 및 Direct2D 라이브러리 전체가 지원되지 않습니다. 휴대폰에서 지원되는 API는 9_3 기능 수준에서 지원되므로 더 높은 기능 수준을 지원하는 장치에서 실행 중인 동일한 API와는 다르게 작동합니다. 휴대폰의 API가 9_3 기능 수준을 사용하는 데스크톱 앱에서 작동할 때와는 다르게 작동하는 경우가 있습니다. 특히 그래픽 장치의 스왑 체인을 설정하는 등이 이에 해당합니다. 휴대폰의 Direct3D 관련 API 차이점에 대한 자세한 내용은 Supported Direct3D APIs for Windows Phone를 참조하세요.

Windows 8 앱에서는 WIC를 사용하여 PNG 파일과 같은 여러 이미지 형식으로 질감을 로드합니다. Windows Phone 에서는 WIC를 지원하지 않습니다. 휴대폰용 게임은 .dds 파일 형식의 질감을 사용해야 합니다.

휴대폰의 화면 크기는 작기 때문에 휴대폰 게임에는 더 작은 질감을 사용하는 것이 좋습니다. 그러면 성능이 향상되지는 않지만 게임의 시각적 품질에 영향을 주지 않으면서 앱의 XAP 파일을 매우 작게 만들 수 있습니다.

Windows 8 앱에서는 Direct2D를 사용하여 2D 그래픽을 화면에 렌더링할 수 있습니다. 이는 메뉴와 HUD 같은 GUI 구성 요소를 렌더링하는 일반적인 방법입니다. 휴대폰용 게임은 2D 스프라이트의 동작을 시뮬레이트하기 위해 Direct3D를 사용하여 질감이 적용되고 화면에 맞게 정렬된 쿼드를 그려야 합니다.

Windows Phone 에서는 게임패드나 하드웨어 키보드 입력을 지원하지 않습니다. Windows 8 에서 마우스 입력에 사용되는 PointerPressed, PointerReleasedPointerMoved를 사용하여 터치 입력을 처리하세요.

Windows Phone 에서 Direct3D 앱이란 용어는 원시 앱 모델을 사용하며 원시 코드만 호출할 수 있는 앱을 말합니다. 이러한 유형의 앱은 텍스트 입력용 텍스트 상자 같은 XAML 컨트롤을 지원하지 않습니다. 원시 앱에서 SIP(소프트웨어 입력 패널) 키보드의 텍스트 입력을 받아서 생성된 사용자 지정 텍스트 상자를 지원할 수 있도록 하는 도우미 함수가 있습니다. 원시 앱의 텍스트 입력 처리에 대한 자세한 내용은 Windows Phone 8용 Direct3D 앱에서 키보드 입력을 처리하는 방법을 참조하세요.

Windows Phone 에서는 데스크톱에서 사용할 수 있는 일부 Microsoft MF(Media Foundation) API를 다시 구현합니다. 게임용 배경 오디오를 구현하려면 IMFMediaEngine 인터페이스를 사용해야 합니다. 휴대폰에서 지원되는 MF 인터페이스에 대한 자세한 내용은 연습: Windows Phone 8용 Microsoft Media Foundation 사용을 참조하세요.

Marble Maze는 Windows 스토어 앱용 게임 개발을 보여 주기 위해 개발된, 완벽하게 작동하는 게임입니다. 이 게임을 개발한 방법에 대한 자세한 내용은 Marble Maze 개발을 참조하세요. 이 앱은 Windows Phone 8 에서 실행되도록 포팅되었습니다. 샘플을 다운로드하고 Windows Phone 에서 실행되도록 앱에서 변경된 사항을 확인하려면 Windows Phone 8의 Marble Maze 샘플을 참조하세요.

DirectXTK(DirectX 도구 키트)는 Direct3D 11 코드를 작성하기 위한 도우미 클래스 컬렉션입니다. DirectXTK는 데스크톱 및 휴대폰 개발을 모두 지원하며 질감 로드, 2D 그리기 및 텍스트 렌더링과 같이 휴대폰에서 더 까다로울 수 있는 몇 가지 일반적인 시나리오를 구현하는 데 도움이 됩니다. 이 도구 키트의 기능은 다음과 같습니다.

  1. SpriteBatch - 간단하고 효율적인 2D 스프라이트 렌더링

  2. SpriteFont - 비트맵 기반 텍스트 렌더링

  3. Effects - 일반 렌더링 작업을 위한 기본 제공 셰이더 모음

  4. PrimitiveBatch - 사용자 기본 형식을 그리는 간단하고 효율적인 방법

  5. GeometricPrimitive - 큐브 및 구와 같은 기본 도형 그리기

  6. CommonStates - 팩터리에서 제공하며 일반적으로 사용되는 Direct3D 상태 개체

  7. VertexTypes - 일반적으로 사용되는 꼭짓점 데이터 형식의 구조

  8. DDSTextureLoader - 간단한 DDS 파일 질감 로더

  9. WICTextureLoader - WIC 기반 이미지 파일 질감 로더(Windows Phone 8 에서는 지원되지 않음)

  10. ScreenGrab - 간단한 화면 보호기

DirectXTK에 대한 자세한 내용을 보려면 CodePlex의 프로젝트 페이지를 참조하세요.

표시:
© 2014 Microsoft