UI、つまみの作成

はじめに

画面上で動かせるつまみを作ってみる。

スクリプト

using UnityEngine;
using UnityEngine.UI;

[RequireComponent(typeof(Slider))]
public class KnobController : MonoBehaviour
{
    // スライダーのDirectionはTopToBottom
    // 上に動かせばプラスの値、下に動かせばマイナスの値
    [SerializeField] Slider _slider;

    void Start()
    {
        OnDragEnd();
    }

    /// <summary>
    /// スライダーが動かされたら呼び出される
    /// </summary>
    public void OnValueChanged()
    {
        // つまみが移動された分をどこかに渡す
        var result = _slider.maxValue / 2 - _slider.value;
        // manager.KnobValueChange(result);
    }

    /// <summary>
    /// 離したらスライダーの中心にもどる
    /// </summary>
    public void OnDragEnd()
    {
        _slider.value = _slider.maxValue / 2;
    }
}

説明

unityのUIにあるスライダーをもとにそれっぽくスクリプトで制御している。

おわりに

中身は簡単だがつまみのように見せるには、アニメーションや効果音などの操作感を演出する必要がある。