エクスポート (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 の一部がサポートされます。最も注意すべき点として、Windows Imaging Component (WIC) ライブラリおよび Direct2D ライブラリは、完全にサポート対象外です。電話でサポートされる API は、9_3 機能レベルでサポートされます。つまり、より高度な機能レベルをサポートするデバイスで同じ API を実行する場合とは、API の動作が異なります。電話上では API の動作が、デスクトップ アプリで同じ API を 9_3 機能レベルで使用する場合とは異なるケースがいくつかあります。特にグラフィック デバイスのスワップ チェーンの設定に関連する動作などです。電話での Direct3D に関する API の相違点の詳細については、「Supported Direct3D APIs for Windows Phone」を参照してください。

Windows 8 アプリは、WIC を使用してテクスチャを複数のイメージ形式 (PNG ファイルなど) で読み込むことができます。Windows Phone は、WIC をサポートしていません。電話用のゲームは、.dds ファイル形式のテクスチャを使用する必要があります。

電話は画面サイズが小さいため、電話用のゲームには小容量のテクスチャを使用することを推奨します。それによってパフォーマンスが向上するわけではありませんが、ゲームのビジュアルの再現性を損なわずに、アプリの XAP ファイルを大幅に小容量化することができます。

Windows 8 アプリでは、Direct2D を使用して 2-D グラフィックスを画面に描画できます。メニューや HUD などの GUI コンポーネントは、通常この方法で描画します。電話用のゲームでは、Direct3D を使用して、画面に配置されたテクスチャ付きのクアッドを描画し、2-D スプライトの動作をシミュレートする必要があります。

Windows Phone では、ゲームパッドまたはハードウェア キーボードからの入力はサポートされません。タッチ入力の処理は、Windows 8 でマウス入力に使われる PointerPressedPointerReleased、および PointerMoved を使用して行います。

Windows Phone で Direct3D アプリという用語は、ネイティブのアプリ モデルを使用し、しかもネイティブ コードしか呼び出すことのできないアプリを指します。この種のアプリでは、テキスト ボックスやテキスト入力などの XAML コントロールはサポートされません。カスタム ビルトのテキスト ボックスを実現するため、ネイティブ アプリがソフトウェア入力パネル (SIP) キーボードからのテキスト入力を受信できるようにするヘルパー関数があります。ネイティブ アプリにおけるテキスト入力処理の詳細については、「Windows Phone 8 の Direct3D アプリでのキーボード入力の処理方法」を参照してください。

Windows Phone は、デスクトップで使用可能な Microsoft メディア ファンデーション (MF) API の一部を再実装しています。ゲーム用のバックグラウンド オーディオを実装するには、IMFMediaEngine インターフェイスを使用する必要があります。電話でサポートされる MF インターフェイスの詳細については、「チュートリアル: Windows Phone 8 用の Microsoft Media Foundation の使用」を参照してください。

Marble Maze は、Windows ストア アプリのゲーム開発について解説するために開発された、完全機能版のゲームです。このゲームの開発方法については、「Marble Maze の開発」を参照してください。このアプリは Windows Phone 8 上で動作するように移植されています。サンプルをダウンロードし、Windows Phone 上で動作するようにアプリに加えられた変更についての説明を読むには、「Windows Phone 8 用の Marble Maze サンプル」を参照してください。

DirectX ツール キット (DirectXTK) は、Direct3D 11 コードを作成するためのヘルパー クラスのコレクションです。DirectXTK は、デスクトップ用と電話用の両方の開発をサポートし、電話の場合にはより困難な一般的シナリオ (テクスチャの読み込み、2-D 描画、テキストの描画など) の実装を支援します。ツール キットの機能には次のものが含まれます。

  1. SpriteBatch - シンプルで効率の良い 2-D スプライト レンダリング

  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