質問: unityのスライダーのvalueが変化したときを検出したいのですが Updata内で常にスライダーのvalueを可変させており、手動でドラッグされた場合のみ 発生するイベントを検出したいのですが 手動でドラッグされた場合のみを検出する方法がわかりません。 Updataで常にスライダーのvalueを可変させているため, On Value Changedデリゲードでは毎回On Value Changedデリゲードに登録されたメソッドが呼ばれてしまいます。 何か解決方法あるでしょうか
回答: 1.透過画像をセット(または画像のアルファ値を0に)したSliderオブジェクト 2.スライダーの見た目をしたImageオブジェクト の2つを用意すればいいのではないかと。 Updateでは、 <On Value Changedが呼ばれていない時> ・自動的にImageオブジェクトを(スライダーっぽく見えるように)動かす ・スライダーの影響を受けるオブジェクトに値を送る <On Value Changedが呼ばれている時> ・Sliderオブジェクトの入力値に合わせてImageオブジェクトを動かす ・スライダーの影響を受けるオブジェクトに値を送る とすれば、ドラッグ用スクリプトを考慮せずとも(uGUI標準の仕組みだけで)期待の動作をすると思います。