122
122

More than 5 years have passed since last update.

UniRxのシンプルなサンプルの取扱説明書

Last updated at Posted at 2015-05-03

取扱説明書

この記事はUniRxのシンプルなサンプルの取扱説明書です。
サンプルを使うときはひと通り目を通してから使うほうがベターです。

記事一覧

UniRxのシンプルなサンプルの取扱説明書
UniRxのシンプルなサンプル その0(Rx オーバービュー)
UniRxのシンプルなサンプル その1(Subscribe)
UniRxのシンプルなサンプル その2(WhereとSelect)
UniRxのシンプルなサンプル その3(FirstとTake)
UniRxのシンプルなサンプル その4(SkipとSkipWhile)
UniRxのシンプルなサンプル その5(Buttonが押されたら動くGameObjet)
UniRxのシンプルなサンプル その6(購読の停止)
UniRxのシンプルなサンプル その7(完了の通知)
UniRxのシンプルなサンプル その8(ObservableWWW.Get ダウンロード)
UniRxのシンプルなサンプル その9(TimerとInterval 一定時間後に実行)
UniRxのシンプルなサンプル その10(プッシュを遅らせる Delay)
UniRxのシンプルなサンプル その11(シーケンスをつなげる Concat)
UniRxのシンプルなサンプル その12(最後のペアを取得する CombineLatest)
UniRxのシンプルなサンプル その11 (IObservableを作成する Create)

サンプルのソースコード

GitHub
自由にお使いください。UniRxを含んでいないのでAssetStoreから取得してください。(無料です。すばらしい!)
(ただし一切の保証をしません。)

Samplesにそれぞれの回で使ったGameObjectがまとまってプレハブになっています。
Partsにはそれぞれの機能のスクリプトと単体のプレハブが入っています。

ソースコードの取扱説明書

コピペ上等ですがいくつかの注意事項があります。

オブジェクトの寿命

サンプルはコードに余計な情報を含めないためにそぎ落としています。
これもその一つなのですが、ほとんどのコードでObserverの寿命を考慮したコードになっていません。
くわしくはUniRxのシンプルなサンプル その6(購読の停止)を御覧ください。

メソッドの例について

メソッドの例は拡張メソッドであることが多いですが、拡張メソッドでないかのように紹介しているケースが有ります。

Baseクラス

Baseクラスはコードを短くするために使用しているクラスです。

Base.cs
using UnityEngine;
using System.Collections;

public class Base : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

    // (dx,dy)だけ移動する
    public void Move (float dx,float dy) {
        gameObject.transform.position += new Vector3(dx, dy, 0);
    }
}

単純にMoveとかいうメソッドがあるだけです。
ただ地味に長くなるのでこのようにしています。

記事の方針

ソースコードを極力少なくしてクリティカルな部分だけ紹介する。
という方針を取ります。
こうすることで一回で把握しなければいけない動作が少なくなり、
なかなか難しいUniRxを少しでも理解できればいいなぁと思います。

そして基礎から説明するのでなく機能から説明することによっていじくりながら勉強できるような構成にしたいです。
(つまりObserverパターンからの説明だと最初で難しすぎて挫折した)

122
122
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
122
122