LoginSignup
6
4

More than 5 years have passed since last update.

Unity4.6からの新GUI(uGui)の Slider or ScrollBar のパラメタをほかのGameObjectで受け取る

Posted at

このサイトなどをみると、おおむねの使い方はわかります。
が、スライダーの変化量を自分の好きな変数に取り込む、またはスライダーに変化があったときに変化量から何かしたい場合にどうしたらいいのか、情報を見かけなかったのでTIPSを記しておきます。
UnityでC#を始めた、プログラムはUnityで初めて…な人たちの助けになれば幸いです。
とはいえこんな本も発売されるようなのでこの情報の賞味期限短そうです・・・

結論からいうとC#のプロパティ(アクセサ)を使います。
以下のようなプロパティを用意し、このスクリプトを任意のGameObjectにアタッチしておきます。

test.cs
using UnityEngine;

public class test : MonoBehaviour
{
    private float   _sliderValue;

    public float sliderValue
    {
        get
        {
            return this._sliderValue;
        }
        set
        {
            this._sliderValue = value;

            Debug.Log(this._sliderValue);

            // Do Something...
        }
    }
}

その後、スライダーorスクロールバーのInspectorから添付画像のように
オブジェクトとプロパティを設定してあげれば、スライダーを動かして値が変化したときに
setが呼ばれるようになります。

このsetの中でなにか処理をするとUpdateで定期実行される処理とカチあったりするかもなので
基本的にはUpdateの中で値を処理してあげたほうがいいかもしれません。

ss.png

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4