使用RX(Reactive Extensions)创建20个延迟30毫秒的事件

Joa*_*los 3 c# unity-game-engine system.reactive

我想制作一个快速爆发的火码,它会以30毫秒的间隔称我为20次.

这是我到目前为止所尝试的:

Observable.Repeat(20).Delay(TimeSpan.FromMilliseconds(30)).Subscribe() 
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎是合乎逻辑的解决方案,但我的应用程序正在崩溃,我认为它是因为它永远不会停止.

使用UniRx我该如何实现? https://rx.codeplex.com/

Tim*_*lds 7

它看起来像你想Observable.IntervalObservable.Take.

Observable.Interval(TimeSpan.FromMilliseconds(30)).Take(20)
Run Code Online (Sandbox Code Playgroud)

此外,您使用的方法并不是您认为他们正在做的事情.您应该在尝试之前阅读文档.