Как сэмплировать сигнал и сохранить сэмплированное значение в вязе?
Рассмотрим модель:
model : Signal Model
и следующие 2 сигнала:
clickPosition = Mouse.position
|> Signal.sampleOn Mouse.clicks
а также:
dimensions = Window.dimensions
Я хотел бы получить следующее desiredSignal
:
(0,0) (30,20) (60,70)
clickPosition +------------+---------------------+---------
M0 M1 M2 M3
model +----+-------------------+------+------------
(600,800) (400,300) (200,800)
dimensions +-----------------+----------+---------------
D1 D2 D3
desiredSignal +------------+---------------------+---------
where:
D1 = ((0,0), M0, (600,800))
D2 = ((30,20), M1, (600,800))
D3 = ((60,70), M3, (200,800))
т.е. я хотел бы попробовать на clickPosition
, но сохраните значение выборки.
Как я мог это сделать?
1 ответ
Решение
Похоже, ваш desiredSignal
это последнее значение трех сигналов, связанных, но изменяющихся только при изменении clickPosition
сигнал. Вы можете сделать это, сначала объединив их, а затем clickPosition
сигнал:
desiredSignal =
Signal.map3 (,,) clickPosition model dimensions
|> Signal.sampleOn clickPosition