シーン

■シーン

シーンとはゲーム内の様々な場面のことです。
「タイトル画面シーン」や「ステージ選択シーン」「ゲームシーン」等があり、
画面構成が変更される画面を「シーン」として考えます。
プログラマー的にシーンを考えると入力処理とその結果が異なる画面であれば
それは別のシーンと考えることができます。
	
	gmpg_0103

●シーン内の処理の流れ
	シーン内の流れは基本形が決まっており、以下のような流れで進みます。
		gmpg_0104

	①.初期化
		初期化では以下の事を行います。

		・リソースの読み込み
			このシーンで読み込むリソースの読み込みを行います。
			リソースの数が多い場合はフリーズと勘違いされないように
			ローディング画面を作成します。

		・オブジェクト作成と初期化
			オブジェクトの作成と初期化を行い、
			シーンを開始できるようにします。

		上記の処理が完了したら②の「ゲームメイン処理」へ進みます。

	②.ゲームメイン処理
		シーンのメイン処理を行い、終了するまでは③「終了」へ進みません。

		・ゲーム処理
			シーンで行うべき処理を実行します。

			例:
				プレイヤーの挙動
				敵のAIによる行動
				スコアの加算等

		・描画処理
			ゲーム処理の結果を画面に描画します。

	③.終了
		シーンで使用したリソースや動的オブジェクトを解放し、
		メモリリークが発生しないようにします。
		終了処理が終わったら次のシーンへ進みます。

●シーン切り替え
	シーンの切り替え処理は、基本的にゲームメイン処理中に次のシーンを決め、
	切り替えのきっかけとして「クリア」「体力0」「リタイア」等があります。
	
	gmpg_0105

●ゲームループとシーンの関係
	ゲームループの中でシーン毎に処理を分ける理由は
	ゲーム全体を管理しやすくすることにあります。
	ゲームは全体として作業を洗い出すと数が多すぎて管理できません。
	それをシーン毎に分けることでそれを作業項目の大項目とすることができます。
	その大項目として分けたシーン毎に作業を洗い出すことで、
	細かく作業を洗い出すことができます。

	シーン分けのメリット:
		開発での作業の管理がしやすく、
		プログラマーはシーン毎にファイル分けや作業担当を決めれる

	gmpg_0106