「Unity/UniRx/AsObservable」の版間の差分
提供: 初心者エンジニアの簡易メモ
行5: | 行5: | ||
https://assetstore.unity.com/packages/tools/integration/unirx-reactive-extensions-for-unity-17276 | https://assetstore.unity.com/packages/tools/integration/unirx-reactive-extensions-for-unity-17276 | ||
+ | ==メソッド説明== | ||
+ | Subscribeはイベント名を入れる | ||
==ボタンサンプル== | ==ボタンサンプル== |
2021年9月6日 (月) 15:37時点における版
UniRxとは
UnityでもReactiveExtensionsを使えるように移植したもの
UniRxインストール
https://assetstore.unity.com/packages/tools/integration/unirx-reactive-extensions-for-unity-17276
メソッド説明
Subscribeはイベント名を入れる
ボタンサンプル
ボタンクリックで、カウントアップする
AsObservableサンプル
public class SampleScene : MonoBehaviour { void Start() { Button button = GameObject.Find("Button").GetComponent<Button>(); Text text = GameObject.Find("Text").GetComponent<Text>(); button.onClick.AsObservable() .Select(_ => 1) .Scan(0, (element, acc) => element + acc) .Subscribe (count => text.text = count.ToString ()) .AddTo(gameObject); } }
OnClickAsObservableサンプル
public class SampleScene : MonoBehaviour { void Start() { Button button = GameObject.Find("Button").GetComponent<Button>(); Text text = GameObject.Find("Text").GetComponent<Text>(); button.OnClickAsObservable() .Select(_ => 1) .Scan(0, (element, acc) => element + acc) .SubscribeToText(text) .AddTo(gameObject); } }