私はマウスの左ボタンの状態のためのストリームを持っている:IObservable <IObservable <T>>をIObservable <IEnumerable <T>>にするにはどうすればよいですか?
var leftMouseButton = mouse.Select(x => x.LeftButton).DistinctUntilChanged();
私はその後、Window
、これは私のマウスのドラッグを表す観測の観測可能を与える:
var leftMouseDrag = mouse
.Select(mouseState => new Point(mouseState.X, mouseState.Y))
.DistinctUntilChanged()
.Window(leftMouseButton.Where(x => x == ButtonState.Pressed), x => leftMouseButton.Where(y => y != x));
今、私はポイントのリストを示すleftMouseDrag
のストリームをオフにしたいとします。ユーザーがドラッグを完了するたびに(LMBダウン - >移動 - > LMBアップ)、マウスが移動した位置のリストと共に起動する必要があります。
IObservable<IObservable<Point>>
を受け取ってIObservable<IEnumerable<Point>>
にするにはどうすればよいですか?
でしたドラッグ・アンド・ドロップを使用せず、 'BeginDrag'と' E ndDrag' eventArgs? –
@ BarryO'Kane私はMonoGameからマウスAPIを使用しています。 – sdgfsdh
ああ、十分です。私の悪い:) –