はじめに
Unityでゲームやアプリを作るとき、ユーザーインターフェース(UI)の中でスライダーを使う場面がよくあります。例えば、ゲームの音量調整や進行状況の表示など、さまざまな用途で活用できます。
しかし、すべての状況でスライダーを表示させておく必要はないため、特定の条件下でスライダーを表示したり非表示にしたりする方法を知っておくと便利です。この記事では、Unityでスライダーの表示と非表示をスクリプトで制御する方法を、初心者にもわかりやすく解説します。
基本的なスライダーの作成
まずはUnityのプロジェクトにスライダーを追加しましょう。Unityのエディタで、Hierarchyビューにて右クリックし、「UI」>「Slider」を選択します。これで、Canvas内にスライダーが作成されます。スライダーは「Canvas」の子オブジェクトとして配置され、ゲーム画面上でユーザーが操作できるようになります。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-08_155505.png)
スクリプトによる表示・非表示の制御
スライダーの表示と非表示を制御するには、スクリプトを使用します。ここでは、C#スクリプトを使って説明します。まず、UnityエディタのProjectビューで右クリックし、「Create」>「C# Script」を選択し、新しいスクリプトを作成します。スクリプトの名前は「SliderVisibilityController」など、役割がわかりやすい名前にしましょう。
スクリプトを作成したら、次のコードを記述してください。
using UnityEngine;
using UnityEngine.UI; // UIコンポーネントを使用するために必要
public class SliderVisibilityController : MonoBehaviour
{
public Slider targetSlider; // 制御したいスライダーの参照
// スライダーを表示するメソッド
public void ShowSlider()
{
targetSlider.gameObject.SetActive(true);
}
// スライダーを非表示にするメソッド
public void HideSlider()
{
targetSlider.gameObject.SetActive(false);
}
}
このスクリプトは、ShowSlider
メソッドとHideSlider
メソッドを通じてスライダーの表示と非表示を制御します。SetActive
メソッドは、GameObjectのアクティブ状態を設定するために使用され、true
で表示、false
で非表示になります。
スクリプトの適用とテスト
スクリプトをスライダーに適用するためには、スクリプトをスライダーが含まれるGameObjectまたはその他の適切なGameObjectにアタッチします。そして、InspectorビューでtargetSlider
フィールドに、制御したいスライダーをドラッグ&ドロップして設定します。
![](https://cbagames.jp/wp-content/uploads/2024/02/2024-02-08_172437.png)
Unityエディタでプレイモードに入り、スクリプトの動作をテストしてみましょう。例えば、特定のボタンを押したときにスライダーを表示したり非表示にしたりするなど、さまざまな方法を試すことができます。
まとめ
この記事では、Unityでスライダーの表示と非表示をスクリプトで制御する基本的な方法を解説しました。この方法をマスターすることで、ゲームやアプリのUIをより使いやすくすることができます。Unityでの開発においては、スクリプトを使った制御が非常に重要なので、この例をきっかけにさらに学習を深めていってください。