「Unity/UniRx/移動検知」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→ObserveEveryValueChangedを使う方法) |
|||
| 行17: | 行17: | ||
==ObserveEveryValueChangedを使う方法== | ==ObserveEveryValueChangedを使う方法== | ||
| + | <pre> | ||
obj.transform.ObserveEveryValueChanged(transform => transform.position.z) | obj.transform.ObserveEveryValueChanged(transform => transform.position.z) | ||
.Subscribe(z => | .Subscribe(z => | ||
| 行30: | 行31: | ||
}) | }) | ||
.AddTo(gameObject); | .AddTo(gameObject); | ||
| + | </pre> | ||
2022年8月21日 (日) 08:41時点における版
Observable.EveryUpdateを使う方法
zが0以下のときにz10に移動
<pre>
var observable = Observable.EveryUpdate()
.Where(_ => obj != null && obj.transform.position.z < 0f)
.Subscribe(_ =>
{
obj.transform.position = new Vector3(
obj.transform.position.x,
obj.transform.position.y,
obj.transform.position.z + 10f
);
})
.AddTo(gameObject);
ObserveEveryValueChangedを使う方法
obj.transform.ObserveEveryValueChanged(transform => transform.position.z)
.Subscribe(z =>
{
if (z < 0f)
{
obj.transform.position = new Vector3(
obj.transform.position.x,
obj.transform.position.y,
obj.transform.position.z + 10f
);
}
})
.AddTo(gameObject);
