「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月20日 (土) 23: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);