Unity での一時停止メニューの作成
一時停止メニューの追加は、あらゆる Unity ゲームにとって重要であり、プレイヤーに一呼吸おいてオプションにアクセスする時間を提供します。このチュートリアルでは、コード例と説明を含めて、その作成方法を説明します。
1. 一時停止メニューをデザインする
- ボタン (再開、オプション、終了) を含む希望のレイアウトをスケッチします。
- 圧迫感を軽減するために、透明パネルの使用を検討してください。
2. キャンバスを作成する
- [階層] パネルで右クリックし、["UI -> Canvas"] を選択します。
- 適切な位置に配置するには、"Render Mode" を "Screen Space - Overlay" に設定します。
3. メニューパネルを構築する
- キャンバスの下で右クリックし、"UI -> Panel" を選択します。
- デザインに合わせてパネルのサイズを変更し、配置します。
- 整理しやすくするために、名前を "PauseMenu" に変更します。
4. ボタンの追加
- 「PauseMenu」パネル内で右クリックし、「PauseMenu」パネルを選択します。 "UI -> Button."
- 必要なボタンごとに繰り返します (再開、オプション、終了)。
- 適切な名前を付けます (例: "ResumeButton")。
- テキスト、サイズ、位置をカスタマイズします。
5. ロジックのスクリプト作成
- という名前の新しい C# スクリプトを作成します "PauseMenu.cs."
- スクリプトを階層内の PauseMenu オブジェクトにアタッチします。
6. 一時停止機能
'PauseMenu.cs'
public class PauseMenu : MonoBehaviour
{
public bool isPaused; // Flag to track pause state
void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
// Toggle pause state on Escape key press
isPaused = !isPaused;
if (isPaused)
{
PauseGame();
}
else
{
ResumeGame();
}
}
}
void PauseGame()
{
// Set Time.timeScale to 0 to pause gameplay
Time.timeScale = 0;
// Make PauseMenu panel visible (activate its gameObject)
PauseMenu.gameObject.SetActive(true);
}
void ResumeGame()
{
// Set Time.timeScale back to 1 to resume gameplay
Time.timeScale = 1;
// Hide PauseMenu panel (deactivate its gameObject)
PauseMenu.gameObject.SetActive(false);
}
}
7. ボタンのインタラクション
- インスペクターウィンドウで、各ボタンを選択します。
- "OnClick" の横にある「+」をクリックし、'PauseMenu' スクリプトをフィールドにドラッグします。
- 適切な機能を選択します (たとえば、ResumeButton の場合は ResumeGame)。
8. 追加のタッチ
- ボタンのスタイルをカスタマイズしたり、サウンド効果を追加したり、オプション メニューを実装したりできます。
- シーン間での再利用を可能にするために、prefabs の使用を検討してください。
結論
このガイドが、Unity で動作する一時停止メニューを構築する上で有利なスタートを切ることができれば幸いです。さらに機能を追加し、特定のゲームのニーズに合わせて調整することで、このベースを拡張することを忘れないでください。