📝
[Unity][UniRx]OnDragAsObservableの頻度を制御する方法
やりたいこと
GameObjectをドラッグしている間、変数(hoge)が増えていくのを作りたい。
発生した問題
[SerializeField] private hogeClass _model;
var ObservableEventTrigger eventTrigger;
eventTrigger.OnDragAsObservable.Subscribe(pointerData => _model.hoge++);
これだとドラッグしてる間のフレーム(?)単位でhogeが増えた。
変数の上限は1000くらいにしたいのでこれだと困る。
解決方法
[SerializeField] private hogeClass _model;
var ObservableEventTrigger eventTrigger;
eventTrigger.OnDragAsObservable.ThrottleFirst(TimeSpan.FromSeconds(1)).Subscribe(pointerData => _model.hoge++);
ThrottleFirst(…)を使うことでドラッグしっぱなしでも1秒毎にhogeが増えていくようにできた。
やったぜ。(ハマり時間:3時間半)
参考
Discussion