Unity::UniRx自分用メモ::基礎、Buttonを紐づける
コメント
ボタンとUniRxの連動についてのメモ
参考資料
コードの機能メモ
using UnityEngine.UI; //書き忘れ注意! using UniRx; using UniRx.Triggers; public class ClickButton : MonoBehaviour { public Button Button; //Button定義 void Start () { //Button.onClick.AsObservable //Buttonクリックされたら //Observableオブジェクト起動 Button.onClick.AsObservable().First() //First()は最初の一回だけTrueにする .Subscribe(_ => Debug.Log("push!")); } // Update is called once per frame void Update () { } }
あとはUnityEditorでボタンの登録D&Dも忘れずに。
Button.onClick.AsObservable().First().Subscribe(_ => Debug.Log("push!")); の挙動を実装^^ #UniRx #Unity pic.twitter.com/t45P3SdXHs
— mawa (@k_mawa82) 2018年4月6日
追加して動かしてDebug.Logにもコメント吐かせる
public class ClickButton : MonoBehaviour { public Button Button; //CubeをUnityEditorから登録 public GameObject Obj_one; // Use this for initialization void Start () { Button.onClick.AsObservable().First() .Subscribe(_ => Debug.Log("push!")); //↓これを追加一回だけ動く Button.onClick.AsObservable().First() .Subscribe(l => Move(1f, 0)); } // Update is called once per frame void Update () { } //動かす関数 Obj_oneで指定しているところがポイント public void Move(float dx, float dy) { Obj_one.transform.position += new Vector3(dx, dy, 0); } }