メインコンテンツへスキップ
< すべてのトピックに戻る

ゲーム状態を一元管理するには?

ゲーム全体の進行(タイトル、プレイ中、ポーズ、リザルト)を管理する Enumを用意し、GameManager クラスなどがその変数をたった一つだけ保持して全体をコントロールします。

プレイヤーのスクリプトに isPlayingを持たせ、UIのスクリプトにも isGameOverを持たせるといった具合に「状態フラグ」が分散すると、必ずどこかで矛盾が生じてゲームが進行不能になるからです。

状態が変わるたびに GameManager.OnStateChanged イベントを発行し、他の全システムはそれを受信して「ポーズ状態になったからキャラクターの動きを止める」「結果画面が出たからBGMを変える」といった自身の処理を自律的に行います。

目次

9周年キャンペーン実施中 早い申込みほど受講料がお得に