「Unity/UniRx/移動検知」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==Observable.EveryUpdateで判定== <pre> zが0以下のときにz10に移動 <pre> var observable = Observable.EveryUpdate() .Where(_ => obj != null && obj.t...」) |
|||
行1: | 行1: | ||
− | ==Observable. | + | ==Observable.EveryUpdateを使う方法== |
<pre> | <pre> | ||
zが0以下のときにz10に移動 | zが0以下のときにz10に移動 | ||
行15: | 行15: | ||
.AddTo(gameObject); | .AddTo(gameObject); | ||
</pre> | </pre> | ||
+ | |||
+ | ==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); |
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);