説明
このサンプルは、メニューとゲームプレイの状態間の移行を管理する方法を示しています。
サンプルの概要
このサンプルは、Windows Phone、Xbox 360、または Windows 向けゲームの出発点として使用できる、簡易なゲーム画面管理システムを提供します。このサンプルには、同じ基本コードを使用しながら、ターゲットとするプラットフォームごとに異なる体験を作り出す方法を示す、Windows Phone および Windows/Xbox 360 向けのサンプル ゲームも含まれています。それぞれの体験の違いは、さまざまな体験を作り出すことができるコア ライブラリーの多用途性を強調しています。
ScreenManager クラスは、1 つまたは複数の GameScreen インスタンスのスタックを保持する再利用可能なコンポーネントです。このクラスは、ある画面から別の画面への移行を調整し、スタック上のあらゆる画面へのユーザー入力のルーティングを処理します。
各画面クラス (まったく別の画面である実際のゲームプレイを含む) は GameScreen から派生します。このクラスは、Update、HandleInput、Draw メソッドに加えて、移行状態を管理するいくつかのロジックを備えています。ただし、GameScreen は実際に移行レンダリング エフェクトを実装していません。単に "オフに移行する現在の進捗状況は 30% です" などという情報を提供するだけで、その情報によって認識される処理の描画コードでの実行は派生する画面クラスに委ねられています。この結果、同じ基になる移行インフラストラクチャ上でのさまざまな視覚効果を画面に容易に実装することができます。
サンプルには、Windows Phone でトゥームストーン化および高速アプリケーション切り替えを処理するための機能も含まれています。ScreenManager は IScreenFactory と連携して現在の画面のリストを保存し、ゲームの再開時に画面を復元します。各 GameScreen の Activate および Deactivate メソッドを使用して、ゲームの各種状態を取得および保存することにより、ユーザーを以前とまったく同じ状態に戻すことができます。
このページからダウンロードしたソース コードを含むすべてのコンテンツは、Microsoft Permissive License (Ms-PL) の規約に準じます。
var gDomain='m.webtrends.com'; var gDcsId='dcschd84w10000w4lw9hcqmsz_8n3x'; var gTrackEvents=1; var gFpc='WT_FPC'; /*<\/scr"+"ipt>");} /*]]>*/