【ハルシオンブログ】uGUIのSliderに、動かしている時は動かないが、離した時のみ動作する処理を追加する方法
こんにちは。
まだ暑い日が続いてますね。
秋なのに30度とかいっちゃってるらしいですよ。
坂内っす。
Unity uGUIのスライダーを使っているときに、「スライダーを動かして、決定したときに特定の処理を行う。」ということをしようとした場合、どうすればいいのかのメモ。
スライダーについてるイベント「onValueChanged」だと、スライダーが動いたときに処理を行ってしまいます。
こんな感じ。

これだとスライダを動かしている間ずっと処理が動いてしまいます。
動かし終わって離したときに1回処理が流れるようにしたいですね。
まずは、こんなクラスを作ります。
[SliderExt.cs]
これをSliderのオブジェクトにくっつけます。

こうすることで、スライダーを動かしている時は処理が走らないが、離した時に処理が走るようになります。

ということで、Sliderに離した時の処理を追加する方法でした。
あでゅ~ノシ
まだ暑い日が続いてますね。
秋なのに30度とかいっちゃってるらしいですよ。
坂内っす。
Unity uGUIのスライダーを使っているときに、「スライダーを動かして、決定したときに特定の処理を行う。」ということをしようとした場合、どうすればいいのかのメモ。
スライダーについてるイベント「onValueChanged」だと、スライダーが動いたときに処理を行ってしまいます。
こんな感じ。

これだとスライダを動かしている間ずっと処理が動いてしまいます。
動かし終わって離したときに1回処理が流れるようにしたいですね。
まずは、こんなクラスを作ります。
[SliderExt.cs]
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class SliderExt : MonoBehaviour, IPointerUpHandler
{
Slider sld;
private void Awake() {
sld = GetComponent<Slider>();
}
public void OnPointerUp(PointerEventData eventData) {
Debug.Log(sld.value);
}
}
これをSliderのオブジェクトにくっつけます。

こうすることで、スライダーを動かしている時は処理が走らないが、離した時に処理が走るようになります。

ということで、Sliderに離した時の処理を追加する方法でした。
あでゅ~ノシ
Category: 開発日記(Unity)
« 【ハルシオンブログ】スプラッシュスクリーンより前に何か処理したいとき | 【ハルシオンブログ】よく使う静的メソッドのクラス名を書かなくてよくする方法 »
コメント
| h o m e |