1
我有一個關於Elm畫布的問題。有沒有一種方法可以防止在每一幀中將畫布擦除/重新插入到DOM中?如何在更新之間保留Elm中的畫布內容
我想通過改變粒子系統(Model
)然後繪製它來動態生成圖像。僞碼看起來像波紋管。
我唯一的「解決方案」不是改變粒子,而是繼續添加,但我不滿意這種方法。
type alias Particle = { ... }
type alias Model = List Particle
update msg model =
List.map updateParticle model
view model =
collage 900 900
((rect 900 900 |> filled bg) :: (List.map drawParticle model))
-- later edit
drawParticle p =
segment p.start p.end
|> traced defaultLine
[編輯] 爲了弄清楚什麼DOM包含,我加drawParticle
功能,上面的代碼。
您能觀察到帆布被移除/重新插入嗎?我期望virtualdom能夠保持畫布和所有沒有改變的粒子,只會移除/重新渲染實際上移動的元素。 –
不,我沒有觀察到(雖然我可以看看)。這是我的猜測,但沒關係。我希望它能夠保持圖形到達那一點,然後添加。 – Adrian
不是。它不會從DOM中刪除。 – Adrian