1

我正在使用光泽库来描绘模拟。是否有一个函数,它simulation在条件为真时停止该函数。只有最后绘制的图片应保留在窗口中。

提前致谢

4

1 回答 1

0

正如@ErikR 所建议的那样,一旦您达到您正在寻找的状态,您所描述的就不再更新模型了。您可以定义一个作用于步进函数的组合器,精确地执行此操作:

untilModel
  :: (ViewPort -> Float -> model -> model)
  -> (model -> Bool)
  -> (ViewPort -> Float -> model -> model)
untilModel step isFrozen v f m =
  if isFrozen m then m
  else step v f m

当你有一个step函数并且你想在模型isFrozen变为真时停止模拟,你可以简单地传递simulate改变后的阶跃函数step `untilModel` isFrozen

于 2016-09-05T08:31:00.470 回答