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

Windows Phone 8의 게임에 적합한 프로젝트 템플릿 선택

2014-06-18

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

 

Windows Phone 8 응용프로그램은 두 가지 카테고리 중 하나에 속합니다. 관리되는 앱은 관리 코드를 기반으로 하지만 이 응용프로그램 유형에서 네이티브 코드를 호출할 수도 있습니다. 다른 응용프로그램 유형은 “Direct3D 앱”이라고 합니다. Direct3D 앱 내에서 관리 코드를 호출할 수는 없습니다. Windows Phone 8 에서는 많은 휴대폰 기능이 네이티브 및 관리 코드에서 모두 액세스할 수 있는 Windows Phone Runtime API를 통해 표시됩니다. 관리되는 앱 또는 Direct3D 앱 을 사용하여 대부분의 응용프로그램 시나리오를 만들 수 있습니다. 하지만 비슷한 결과를 얻을 수 있더라도 각 응용프로그램 유형의 구조, 구현 및 사용 가능한 API에는 몇 가지 큰 차이점이 있습니다. 이러한 차이점을 이해하고 코딩을 시작하기 전에 앱에 적합한 모델을 선택해야 합니다.

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

 

Windows Phone 8 에서는 관리되는 앱 에 대한 여러 가지 프로젝트 템플릿을 제공하며 이 템플릿은 Visual Studio 에서 새 프로젝트 대화 상자의 템플릿 -> Visual C# -> Windows Phone 또는 템플릿 -> Visual Basic -> Windows Phone 아래에서 찾을 수 있습니다. 다음 목록에서는 관리되는 앱 의 몇 가지 기능에 대해 설명합니다.

  • 앱 모델 – 관리되는 앱 의 앱 모델은 이전 버전의 Windows Phone 앱 모델과 거의 동일합니다. 응용프로그램은 기존 Application 개체와 하나 이상의 PhoneApplicationPage 개체로 구성되며 모든 개체는 XAML 및 C# 또는 XAML 및 VB.NET으로 구현됩니다. 각 페이지는 사용자 인터페이스를 구현하고 사용자는 이러한 페이지 간에 이동하여 응용프로그램의 서로 다른 부분에 액세스합니다.

  • UI – 관리되는 앱 의 사용자 인터페이스는 XAML로 정의됩니다. 데이터 바인딩을 지원하고 Visual Studio 및 Microsoft Expression Blend 에 기본 제공된 디자이너에서 쉽게 배치할 수 있는 대규모 컨트롤 라이브러리를 사용할 수 있습니다.

  • Exclusive Features – 다음 기능은 관리되는 앱 에만 사용할 수 있으며 네이티브 전용 응용프로그램에서 사용할 수 없습니다.

    • 백그라운드 에이전트

    • 브라우저 컨트롤

    • Map 컨트롤

    • 백그라운드 전송 서비스

    • Live Tile

    • 푸시 알림

    • Windows Phone Ad 컨트롤

    • 지역화된 리소스

    • XAML 컨트롤

  • 관리되는 런타임이 호출되므로 시작 시간은 약간 더 느릴 수 있고 약간의 추가 메모리가 사용됩니다. XAML 컨트롤을 무효화하여 컨트롤을 다시 그리는 경우를 제외하고 순수한 네이티브 앱에 비해 관리되는 앱 앱의 성능 저하는 무시할 수 있습니다.

전체 UI를 제공하기 위해 XAML을 사용하여 게임을 만들 수 있습니다. 그러나 Direct3D를 사용하여 3D 그래픽을 화면에 렌더링하는 관리되는 게임을 만들 수도 있습니다. 이 앱 유형의 경우 두 가지 특수 프로젝트 템플릿이 있습니다.

XAML with Direct3D 프로젝트 템플릿

이 템플릿은 XAML UI 내에서 3D 그래픽을 렌더링하려는 경우 권장됩니다. 이 템플릿은 DrawingSurface 컨트롤을 사용하여 Direct3D 그래픽을 화면에 표시합니다. DrawingSurface는 화면의 어디에나 다른 XAML 컨트롤 위 또는 옆에 배치될 수 있다는 점에서 다른 XAML 컨트롤과 비슷합니다. 그래픽을 실제로 렌더링하는 Direct3D 코드는 별도의 Windows Phone Runtime 구성 요소에서 구현됩니다.

Direct3D with XAML 프로젝트 템플릿

이 템플릿은 Live Tile과 같이 관리되는 앱 에만 사용할 수 있는 일부 기능을 활용하기 위해 기본적으로 네이티브 게임 주위에 씬 래퍼로 관리되는 앱만 사용하는 게임을 만들려는 경우 권장됩니다. 이 템플릿은 DrawingSurfaceBackgroundGrid 컨트롤을 사용하여 Direct3D 그래픽을 화면에 표시합니다. DrawingSurface 컨트롤과 달리 이 컨트롤은 XAML 트리 루트에 배치되어야 하고 항상 전체 화면을 덮습니다. 다른 템플릿과 같이 그래픽을 렌더링하는 Direct3D 코드는 별도의 Windows Phone Runtime 구성 요소에서 구현됩니다. Direct3D with XAML 앱의 프레임 속도는 XAML with Direct3D 앱의 속도보다 약간 더 빠릅니다.

Direct3D 앱 은 완전히 네이티브 코드로 작성됩니다. 강력한 상위 수준 관리되는 API 형태의 관리되는 앱 에 사용할 수 있는 많은 기능을 처음부터 네이티브 코드를 사용하여 구현해야 한다는 사실로 인해 일반 개발자는 Direct3D 앱 개발이 비슷한 관리되는 앱 개발보다 더 어렵다는 것을 알 수 있습니다. 타사 라이브러리에서 제공하는 경우도 있지만 순수한 네이티브 앱에 사용할 수 있는 미리 만들어진 버튼, 목록 또는 텍스트 상자 컨트롤이 없기 때문에 특히 UI 구성 요소의 경우 더 어렵습니다. 고급 개발자 및 여러 플랫폼을 대상으로 하는 개발자는 이 프로젝트 유형을 더 쉽고 유연하게 사용할 수 있습니다. 다음은 Direct3D 앱 의 일부 기능입니다.

  • 프로젝트 템플릿 – Direct3D 앱 은 Visual Studio 에서 새 프로젝트를 만들고 새 프로젝트 대화 상자의 템플릿 -> Visual C++에서 Direct3D Application 프로젝트 템플릿을 선택하여 만들 수 있습니다.

  • 앱 모델 - Direct3D 앱 응용프로그램 모델은 Windows 8 디자인 원칙을 반영합니다. 이 모델은 응용프로그램 수명 주기 이벤트를 관리한 다음 IFrameworkView 인터페이스 구현으로 전달하는 CoreApplication 개체를 사용합니다. 이 인터페이스는 게임 루프를 호스트하는 Run 메서드를 표시합니다. 이 모델에는 기본 제공 탐색 개념이 없습니다. 단순히 앱에 필요한 경우 화면에 그립니다.

  • UI - Direct3D 앱 은 XAML 또는 기본 제공 컨트롤을 지원하지 않습니다. 앱에 텍스트 상자, 버튼 또는 확인란 같은 표준 컨트롤이 필요한 경우 처음부터 앱을 작성하거나 타사 라이브러리를 이용해야 합니다.

관리되는 앱 – 컨트롤 및 페이지 탐색을 포함한 관리되는 앱 의 UI 프레임워크는 응용프로그램 개발이 더 빠르고 더 간편함을 의미합니다. Windows Phone Runtime 라이브러리, Direct3D를 사용하여 그래픽을 XAML 페이지로 렌더링할 수 있는 DrawingSurface 컨트롤 및 관리 코드에서 네이티브 어셈블리를 호출하는 기능에 대한 액세스는 관리되는 앱 에 네이티브 전용 앱과 호환 가능한 기능과 성능이 있음을 의미합니다. Live Tile, 백그라운드 전송 서비스 및 관리되는 앱 응용프로그램에서만 사용할 수 있는 다양한 기본 제공 시작 관리자 및 선택자 같은 여러 가지 유용한 기능이 있습니다. 관리되는 앱 앱을 사용하여 Windows Phone OS 7.1 응용프로그램에서 대부분의 코드를 다시 사용할 수도 있습니다.

Direct3D - Direct3D 앱 은 복잡한 3D 게임과 같은 가능한 최고 성능이 필요한 앱에 사용됩니다. 기본 제공 컨트롤 또는 기타 사용자 인터페이스 기본 형식이 있습니다. 순수한 네이티브 응용프로그램은 Windows 8 네이티브 응용프로그램 및 네이티브 코드를 지원하는 다른 플랫폼으로 더 쉽게 포팅됩니다.

Direct3D 앱 을 만드는 방법에 대한 자세한 내용은 Windows Phone 8용 Direct3D 앱 개발을 참조하세요.

표시:
© 2014 Microsoft