2016-11-21 7 views
1

Unity 5.4.3f1。観察可能なライフサイクル管理 - 入力軸からデータストリームを作成する方法は?

私はUniRxを使ってユニティをターゲットにする反応型プログラミングを学んでいます。 入力軸から単純なデータストリームを作成しようとしている瞬間です。

public IObservable<float> Movement; 

void Start() 
{ 
    this.Movement = Observable.EveryUpdate() 
        .Select(_ => Input.GetAxis("Horizontal")) 
        .Subscribe(f => Debug.Log(f)) 
        .AddTo(this); 
} 

私はこのエラーを取得する:UniRxから

Error CS0266: Cannot implicitly convert type `System.IDisposable' to `UniRx.IObservable<float>'. An explicit conversion exists (are you missing a cast?) (CS0266) (Assembly-CSharp) 

例は罰金コンパイルします。

私は2つの違いはあまりありません。私は何が欠けていますか?

答えて

2

私は愚かです。観察可能なサブスクリプションの作成は、2つの異なるものでなければなりません。コードは別々になるとコンパイルされます。

public IObservable<float> Movement; 

void Start() 
{ 
    this.Movement = Observable.EveryUpdate() 
     .Select(_ => Input.GetAxis("Horizontal")) 
     .Where(f => f > 0.01f || f < -0.01f); 

    this.Movement.Subscribe(f => Debug.Log(f)) 
     .AddTo(this); 
} 
関連する問題