Exemple #1
0
// エントリーポイントを作成
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, INT){

	// コンソールウィンドウが表示される
	ConsoleWindow::Create();

	// このクラスがメインループを持っているクラス
	GameEntry* entry = new GameEntry();

	// 独自に作成したフレームオブジェクトのオブジェクトを作成
	GameFrame* frame = new GameFrame();

	// 初期化
	entry->Initialize(false, L"Palm of God");
	frame->Initialize(*entry->GetWindowHandle(), POINT{800,600},false,1000000);

	// この関数を呼び出すことによって、画面の背景色の変更ができる
	// デフォルトの設定では黒が設定されている
	frame->BackgroundColor(Color(0.0f, 0.0f, 0.0f, 1.0f));
	
	// エントリークラスにメインループに使うFrameオブジェクトを設定
	entry->SetGameFrame(frame);

	// 最初のシーンのオブジェクトを作成
	GameScene* firstScene = new SceneTitle();


	// 最初のシーンの設定
	GameSceneManager::SetCurrentScene(firstScene);

	// 実行するロードオブジェクトの作成
	LoadScreen *loadobj = new LoadObj;
	GameSceneManager::SetLoadScreen(loadobj);
	// メインループの開始
	// この関数の内部で,GameFrameオブジェクトのFrameRunningが呼ばれる。
	entry->GameRun();

	// フレームオブジェクトの破棄
	delete frame;
	frame = nullptr;

	// エントリーオブジェクトの破棄
	delete entry;
	entry = nullptr;

	// コンソールウィンドウを破棄したいときはこの関数を呼ぶ
	//ConsoleWindow::Close();
	return 0;
}