环境:Unity2017.2 语言:C#
总起:
在正式讲UniRx技术之前,首先推荐一篇老外写的入门文章:https://zhuanlan.zhihu.com/p/27678951。
看了以上文章后,应该会对UniRx用来做什么有一定了了解了。而我今天就将我这几天使用的几种常用方法列举一下,供大家编写程序时参考。
个人非常喜欢Rx这种流式的编程方式,不过这种技术资料比较少,大家如果有相关文档什么的,欢迎共享!
我个人总结了一下Rx的作用:在Unity中就是准备把Update中复杂的ifelse语句全部删除,全部写到Start中,然后所有ifelse逻辑通过流的组合来实现。
常用方法:
♦ 流的顺序执行
IEnumerator CorA()
{
yield return new WaitForSeconds(1f);
Debug.Log("A");
}
IEnumerator CorB()
{
yield return new WaitForSeconds(1f);
Debug.Log("B");
}
void Start ()
{
var StreamA = Observable.FromCoroutine(CorA);
var StreamB = Observable.FromCoroutine(CorB);
StreamA.SelectMany(StreamB)
.