(這篇是念念碎文章還沒有學習的心得,不過讀者有興趣先了解一下也可以看看喔)
認識UniRx(Reactive Extensions for Unity)是因為小弟在uFrame,而uFrame這插件在版本1.5之後也加入了UniRx這個插件,其實小弟剛開始以為UniRx的功能是屬於uFrame的,然後才發現原來Asset Store有一個叫UniRx的插件,而且是免費的!最近發覺得UniRx好像很強大,所以想研究起來,我們先看一點UniRx在Asset Store的簡介,文末也有一些相關傳送門,大家對小弟的文字沒興趣可以直接滑下去喔XD
//Reactive Extensions for Unity that allows LINQ to asynchronous and LINQ to multithreading and LINQ to events and more. Welcome to the reactive game architecture! //
//Ordinary, Unity network operation use WWW and coroutine but coroutine is not good practice for asynchronous operation.//
//Unity is single thread but UniRx helps multithreading for join, cancel, access GameObject etc.//
Reactive Extension本來好像是 .NET的東東,雖然一直都在用UniRx但太淸楚它是什麼所以有點慚愧。小弟暫時主要是用來取代Unity原生的Update() 和 Coroutine 做一些非同步的功能,用起來有時滿方便的所以有些Script混合了UniRx和Coroutine XDDD
UniRx說Coroutine有些不好所以改用UniRx吧,但是我還在一個Script裏都有UniRx和Coroutine有點搞笑XDDD,未來可能也會把現在用實現Coroutine的功能改用UniRx,不過還是先多點認識一下UniRx
UniRx是Reactive Programming,是一個使用 observable 序列及 LINQ-style 來組合非同步、event-based 的程式庫......嗯,我的學習又要開始,先努力看看以下的文件。
新年後我學有所成再跟大家更新吧XD(果然還是沒啥資訊的文章~)
插件下載
https://www.assetstore.unity3d.com/en/#!/content/17276
UniRx在GitHub的介紹:
https://github.com/neuecc/UniRx
Aahz大大關於UniRx的PDF文件:
https://drive.google.com/file/d/0B3lJMdHzE05YUWxSR2lNZHZRUXc/edit
uFrame Wiki 提供的 Observable Examples
https://github.com/InvertGames/uFrame/wiki/Observable-Examples
沒有留言:
發佈留言