FC2ブログ
    05 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.» 07

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】uGUIの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)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/829-457fa087
    この記事にトラックバックする(FC2ブログユーザー)