【Unity】オプション設計のサンプル
Unityでオプション登録を実装するためのサンプルコードです。この例では、音量調整と画面の解像度変更をサポートしています
using UnityEngine;
using UnityEngine.UI;
public class OptionsManager : MonoBehaviour
{
public Slider volumeSlider;
public Dropdown resolutionDropdown;
private Resolution[] resolutions;
private void Start()
{
// 音量スライダーの初期化
volumeSlider.value = PlayerPrefs.GetFloat("Volume", 0.5f);
// 解像度の選択肢を取得してドロップダウンに設定
resolutions = Screen.resolutions;
resolutionDropdown.ClearOptions();
// 解像度を文字列に変換してドロップダウンに追加
foreach (var resolution in resolutions)
{
string option = resolution.width + "x" + resolution.height;
resolutionDropdown.options.Add(new Dropdown.OptionData(option));
}
// プレイヤーの保存された解像度を取得し、ドロップダウンで選択
int savedResolutionIndex = PlayerPrefs.GetInt("ResolutionIndex", resolutions.Length - 1);
resolutionDropdown.value = savedResolutionIndex;
resolutionDropdown.RefreshShownValue();
}
public void SetVolume(float volume)
{
// 音量を設定し、保存
AudioListener.volume = volume;
PlayerPrefs.SetFloat("Volume", volume);
}
public void SetResolution(int resolutionIndex)
{
// 選択された解像度を設定し、保存
Resolution resolution = resolutions[resolutionIndex];
Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
PlayerPrefs.SetInt("ResolutionIndex", resolutionIndex);
}
public void SetFullscreen(bool isFullscreen)
{
// フルスクリーンモードを設定し、保存
Screen.fullScreen = isFullscreen;
PlayerPrefs.SetInt("Fullscreen", isFullscreen ? 1 : 0);
}
}
このコードは、OptionsManager
というスクリプトでオプションの設定を管理します。ゲームオブジェクトにアタッチし、関連するUI要素(スライダー、ドロップダウンなど)を正しく設定してください。
このサンプルでは、音量を調整するためのスライダーと、解像度を変更するためのドロップダウンを使用しています。Start
メソッドでは、保存された設定を復元し、初期値として設定します。
SetVolume
メソッドでは、音量を設定し、PlayerPrefs
を使用して値を保存します。SetResolution
メソッドでは、選択された解像度を設定し、Screen.SetResolution
を使用して画面の解像度を変更します。また、SetFullscreen
メソッドでは、フルスクリーンモードを設定します。
このコードは、設定を保存するためにPlayerPrefs
を使用しています。PlayerPrefs
は、値をキーと関連付けてディスク上に保存し、次回の起動時に復元することができるUnityの機能です。
このサンプルコードは、オプション設定を管理するための基本的なフレームワークを提供します。必要に応じて、他のオプション(言語設定、マウス感度など)を追加したり、UIやエフェクトをカスタマイズしたりすることができます。
ディスカッション
コメント一覧
まだ、コメントがありません